一种检测程序代码运行位置的方法和嵌入式系统技术方案

技术编号:4134288 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种检测程序代码运行位置的方法和嵌入式系统,该方法包括:运行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指令在程序代码中的位置信息;以及在运行到所述预定输出指令时,向外部接口输出所述位置信息,由所述外部接口根据该位置信息控制在该外部接口上的发光二极管LED显示所述预定输出指令在程序代码中的位置。应用本发明专利技术实施例提供的方法和系统能够解决现有技术中系统故障死机后无法得知系统死机前运行程序的最后位置的问题。

【技术实现步骤摘要】

本专利技术涉及计算才;U企测控制领域,尤其涉及一种检测程序代码运行位置的 方法和嵌入式系统。
技术介绍
目前,现有技术中对程序代码运行状态的观察主要是通过查看日志或观看 屏幕打印的方式来进行。但有时当程序故障导致系统死^u时,可能没有记录日 志或屏幕打印,例如程序中没有相应的打印语句,因此很难知道系统死机前 程序执行的大概位置,难以定位故障。 ,在有些情况下,尤其在嵌入式系统中,执行程序的设备可能显示器或硬盘 都不存在,在这种情况下更难跟踪程序的运行状态和查找故障。
技术实现思路
本专利技术提供一种检测程序代码运行位置的方法和嵌入式系统,用于解决现 有技术中系统故障死机后难以定位系统故障前程序运行位置的问题。 一种检测程序代码运行位置的方法,包括运行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指 令在程序代码中的位置信息;以及在运行到所述预定输出指令时,向外部接口输出所述位置信息,由所述外 部接口根据该位置信息控制在该外部接口上的发光二极管LED显示所述预定输出指令在程序代码中的位置。一种计算机嵌入式系统,包括外部接口,用于当系统运行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指令在程序代码中的位置信息,接收所述位置信息,并根据该位置信息控制发光二极管LED;所述发光二极管LED连接在所述外部接口上,并且该LED用于显示所述 预定输出指令在程序代码中的位置。一种检测程序代码运行位置的装置,包括控制模块,用于保存运行插入有预定输出指令的程序代码,该预定输出指 令包含本预定输出指令在程序代码中的位置信息;在运行到所述预定输出指令 时,输出所述位置信息,并应用所述位置信息控制显示模块;显示模块,用于根据接收到的位置信息显示所述预定输出指令在程序代码 中的位置。应用本专利技术实施例提供的方法和系统,通过在并口引脚上连接LED,从而 显示系统死机前程序代码的运行位置,因为并口硬件会保留系统死机前发送来 的值,所以连接在并口上的LED能够显示系统死机前程序运行的fe置。附图说明图1为本专利技术实施例一种检测程序代码运行位置的方法;图2为现有技术中并口引脚结构示意图3为本专利技术实施例中实施例一并口连接发光LED的示意图4为本专利技术实施例中应用数码LED实现本专利技术的连接示意图5为本专利技术实施例一种嵌入系统的结构示意图6为本专利技术实施例一种检测程序代码运行位置的装置的结构示意图。具体实施例方式本专利技术实施例提供一种检测程序代码运行位置的方法,该方法包括运 行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指令 在程序代码中的位置信息;以及在运行到所述预定输出指令时,向外部接口输出所述位置信息,由所述外部接口根据该位置信息控制在该外部接口上的发光二极管LED显示所述预定输出指令在程序代码中的位置。 下面结合说明书附图对本专利技术的具体实施方式进行详细说明。 如图1所示,本专利技术实施例一种检测程序代码运行位置的方法,具体步骤包括步骤IOI、系统运行程序代码,该程序代码中包含预先插入^i预定输出指 令,该预定输出指令包含本预定输出指令在程序代码中的位置信息; 在本专利技术实施例中,所述预定输出指令可以以下形式 从端口 port读取数据 unsigned inb(unsigned port); 向端口 port写入数据 void outb(unsigned char byte, unsigned port)。步骤102、在运行到所述预定输出指令时,向外部接口输出所述位置信息, 由所述外部接口根据该位置信息控制在该外部接口上的发光二极香LED显示 所述预定输出指令在程序代码中的位置。外部接口保留系统前一次接收到的位置信息,所以外部接口在接收到下一 条预定输出指令输出的位置信息前,则控制所述LED显示上一条预定输出指 令输出的位置信息。在本专利技术是实施例中,所述外部接口可以是并行接口或串行接口,在没有 串并行接口的系统中,在进行本专利技术实施例之前还包括在系统中添力口串并行接 口组件。进一步,在本专利技术实施例中,当系统死机时,外部接口硬件备保留上一次 系统输出给它的值,与系统的状态无关,因此点亮的LED就可以显示系统死 机前程序代码的执行位置和状态等信息。另外,为了避免电流过大烧坏LED,所以每个LED应当串连一个电阻 (LED有内嵌的电阻的除外)。6另外,本专利技术实施例应用的环境可以是现有技术中的PC机都会配备一个25针的并行接口 ,也称LPT (line print terminal) 口或打印接口,该LPT 口 一般都支持IEEE1284标准中定义的三种并 行接口模式,分别为标准并行接口 (Standara Parallel Port, SPP)、增强并行接 口 ( Enhanced Parallel Port, EPP ),扩展功能并行4妄口 ( Extended Capabilities Port, ECP)。 ECP模式除了拥有双向数据传输的支持它还有扩展的寄存器控制功能, 使得传输速度从SPP模式的50K Bit/秒提升到2MB/秒。在现有技术中,并口的最小配置(ECP和EPP ^^莫式)通常由3个8 位端口组成。 一般PC中在基地址0x378处开始第一个并口的端口,并口引 脚结构如图2所示数据寄存器在第一个端口,是一个双向数据寄存器,它直接连接到物理连 接器的管脚2-9。状态寄存器占用的地址是基地址加一,与接口的10、 11、 12、 13、 15针 相连,这个寄存器是只读寄存器,在用于打印机驱动时用来取得打印机的当前 状态,如出错、选中、缺纸等等。该寄存器中包含一个1RQ中断寄存器(由Ack 取反后形成),当有中断发生这个数据位为0。在读入数据时要注意的是Bit7 (引脚ll)在输入+5VTTL电平时,数据值为0,有反转的特性。控制寄存器占用的地址是基地址加二,与接口的l、 14、 16、 17针相连, 寄存器可读写。其中BitO、 Bitl、 Bit3有反转的特性。通常用于打印机控制时, 这个端口只用发送控制数据,如初始化机印机、自动换行等。这个端口还有高 阻特性,在应用时可以根据要求加电阻,以使电平足够高或足够低。Bit4为中 断请求(InterruptRequest, IRQ)应用,当向Bit4写入1时,将使ACK(引 脚10)信号反相后成为IRQ信号,通常为IRQ5或IRQ7。在本专利技术实施例中,用于显示程序运行位置的位置信息发送到数据寄存 器,则连接在数据寄存器并口引脚上的LED显示系统死机前程序运行的位置。 若在其它寄存器的引脚上连接LED,则可通过各引脚上LED两灭情况显示当前系统的运行情况。并口通信中使用的^f言号电平是标准的TTL ( Transistor-Transistor Logic,逻 辑门电路)电平0伏特和5伏特,端口符合标准TTLLS电流失见才各。在本专利技术实施例中,可以采用每个并口引脚都连接一个LED,也可采用数 码LED (即数码管)进行信息显示,下面以采用每个并口的引脚上连接一个 LED为例,对本专利技术具体的实施例进行进一步的说明,LED的具体连接方式 如图3所示所述预定输出指令可在程序代码的每行都插,也可在程序代码的关键:位置 插入。在本专利技术实施例中,可以通过以下的预定输出指令本文档来自技高网...

【技术保护点】
一种检测程序代码运行位置的方法,其特征在于,包括: 运行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指令在程序代码中的位置信息;以及 在运行到所述预定输出指令时,向外部接口输出所述位置信息,由所述外部接口根据该位置 信息控制在该外部接口上的发光二极管LED显示所述预定输出指令在程序代码中的位置。

【技术特征摘要】
1、一种检测程序代码运行位置的方法,其特征在于,包括运行插入有预定输出指令的程序代码,该预定输出指令包含本预定输出指令在程序代码中的位置信息;以及在运行到所述预定输出指令时,向外部接口输出所述位置信息,由所述外部接口根据该位置信息控制在该外部接口上的发光二极管LED显示所述预定输出指令在程序代码中的位置。2、 如权利要求1所述的方法,其特征在于,所述外部接口为并行接口或 串行接口。3、 如权利要求2所述的方法,其特征在于,所述位置信息为主进制代码, 当所述外部接口为并行接口,则每个并口引脚上连接一个LED,每个LED代 表所述二进制代码中的一位。4、 如权利要求1 3任一权项所述的方法,其特征在于,所述LED还串联 一个限流电阻。5、 如权利要求1所述的方法,其特征在于,所述外部接口在接收到下一 条预定输出指令输出的位置信息前,控制所述LED显示上一条预定输出指令 输出的位置信息。6、 一种计算机嵌入式系统,其特征在于,包括外部接口,用于当系统运行插入有预定输出指令的程序代码,该预定输出 指令包含本预定输出指令在程序代码中的位置信息,接...

【专利技术属性】
技术研发人员:张波彭杰夏舰波
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1