CN101551928A - 一种金融税控收款机嵌入程序的断点调试方法 - Google Patents
一种金融税控收款机嵌入程序的断点调试方法 Download PDFInfo
- Publication number
- CN101551928A CN101551928A CNA2009100152357A CN200910015235A CN101551928A CN 101551928 A CN101551928 A CN 101551928A CN A2009100152357 A CNA2009100152357 A CN A2009100152357A CN 200910015235 A CN200910015235 A CN 200910015235A CN 101551928 A CN101551928 A CN 101551928A
- Authority
- CN
- China
- Prior art keywords
- debugger
- data
- debugging
- built
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims abstract description 4
- 230000002452 interceptive effect Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 11
- 238000012856 packing Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种金融税控收款机嵌入程序的断点调试方法,用软件接管金融税控收款机系统的异常处理及部分中断处理,在其中插入调试端口通信模块,与PC主机的调试器交互,在目标操作系统初始化,特别是调试通信端口初始化完成后,调试器开始起作用,异常处理程序或中断处理程序调用调试端口通信模块,等待调试器上的调试器发送信息;双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器根据用户命令生成的指令,在嵌入端进入某个“伪断点”后,调试器开始调试,按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
Description
技术领域
本发明涉及一种金融税控收款机生产技术,具体地说是一种通过在调试器(主机)与金融税控收款机嵌入程序之间插入断点建立通信的嵌入式应用程序调试方法。
背景技术
调试是开发过程中必不可少的环节,通用的PC操作系统调试环境与嵌入操作系统调试环境有巨大差异。其中,基于PC操作系统调试工具与被调试的程序往往在同一台设备、同一个操作系统上运行的两个进程,调试器进程通过操作系统专门提供的调用接口控制、访问被调试进程。而嵌入式操作系统调试又称为远程调试,调试器可以由基于特定硬件平台的嵌入式设备本身或由桌面操作系统的应用程序担当。为了提供灵活、友好的调试界面,调试器往往运行于后者,而被调试的程序则运行于嵌入式系统中。
对于嵌入式程序的调试来说,面临下列问题:调试器与被调试程序如何通信,被调试程序产生异常如何及时通知调试器,调试器如何控制、访问被调试程序、如何识别有关被调试程序的数据信息并实时查看,调试器如何处理某些与目标硬件平台相关的信息等等。
发明内容
本发明的目的是提供一种金融税控收款机嵌入程序的断点调试方法。
本发明的目的是按以下方式实现的,用软件接管金融税控收款机系统的异常处理及部分中断处理,在其中插入调试端口通信模块,与PC主机的调试器交互。在目标操作系统初始化,特别是调试通信端口初始化完成后,调试器开始起作用。异常处理程序或中断处理程序调用调试端口通信模块,等待调试器上的调试器发送信息;双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器根据用户命令生成的指令。
具体步骤如下:
1)嵌入端-调试器的指令集
根据嵌入端数据结构的特点以及调试的需要,确定在调试中被输出的数据,然后定义一个“嵌入端-调试器”的指令集,该指令集详细定义调试器与嵌入端的物理接口、通信传输协议以及每个程序指令的命令字、参数、返回值以及两端的交互方式,定义调试器命令嵌入端返回数据以及嵌入端把调试信息传给调试器的数据格式;
2)编写嵌入端程序
编写一个“伪断点”功能函数,,该函数无需参数和返回值,主程序调用它时,则进入断点调试状态,该断点程序要实现的功能有以下三部分:
a、中断和结束中断的能力
该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环体内,达到“中断”的目的,同时,跳出循环;完成本次“中断”的条件是在循环体中根据需定义增加消息处理机制,处理的消息包括按键消息或端口接受到数据的消息;
b、接收和处理调试器指令的能力
在嵌入端进入中断状态后,“伪断点”的循环体中反复侦听端口状态,等待调试器端指令,一旦端口数据出现,即终端收到调试器指令时,嵌入端程序随即根据指令集的格式对其进行解析,分别得到命令字及其参数;
c、获取和输出数据值的能力
解析出调试器指令后,嵌入端程序把这个“伪断点”状态下的调试器需要的数据逐-整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式的要求,将数据打包、传回调试器;
3)调试器的功能实现
a、设定友好的图形界面
调试器是该调试方法的最终输出,按照终端数据结构的特点进行布局设定一个友好的图形界面,在图形界面中,既要明确输出各个断点在程序中的标识和位置,又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方式;
b、断点调试
在嵌入端进入某个“伪断点”后,调试器开始调试,按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
本发明的有益效果是,所述方法除可应用于调试运行于金融税控收款机系统之上的应用程序,还适用于税控收款机、金融POS机、手持终端等具有嵌入式系统和应用程序的终端。
具体实施方式
本发明的方法是用软件接管目标系统的异常处理及部分中断处理,通过调用调试端口通信模块,等待调试器发送信息;双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器根据用户命令生成的指令。其实现步骤如下:
1)嵌入端-调试器的指令集
根据嵌入端数据结构的特点以及调试的需要,确定哪些数据可能会在调试中被输出,然后定义一个“嵌入端-调试器”的指令集。该指令集详细定义调试器与嵌入端的物理接口、通信传输协议,以及每个程序指令的命令字、参数、返回值以及两端的交互方式,用以说明调试器如何命令嵌入端返回数据,以及嵌入端把调试信息传给调试器的数据格式。
2)嵌入端的程序实现
编写一个功能函数,也就是上述“伪断点”。该函数无需参数和返回值,主程序调用它时,则进入断点调试状态,只有专门操作才可以跳出这段断点继续运行主程序。该断点程序要实现的功能有以下3部分:
a、中断和结束中断的能力
该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环体内,达到“中断”的目的。同时,跳出循环,也就是完成本次“中断”的条件可以在循环体中根据需要来定义,它必须是某种消息,如按键消息或端口接受到数据的消息,故必须在循环体中增加消息处理机制。
b、接收和处理调试器指令的能力
在嵌入端进入中断状态后,“伪断点”的循环体中反复侦听端口状态,等待调试器端指令,这是中断的目的所在——调试。一旦端口数据出现,即终端收到调试器指令时,嵌入端程序随即根据指令集的格式对其进行解析,分别得到命令字及其参数。
c、获取和输出数据值的能力
解析出调试器指令后,嵌入端程序把这个“伪断点”状态下的调试器需要的数据逐一整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式的要求,将数据打包、传回调试器。
3)调试器的功能实现
a、友好的图形界面
调试器是该调试方法的最终输出,一个友好的图形界面是必不可少的。可以按照终端数据结构的特点来进行布局,既要明确输出各个断点在程序中的标识和位置,又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方式。这里不再细述,可以根据不同的PC软件开发工具具体设计。
b、断点调试
在嵌入端进入某个“伪断点”后,调试器就可以开始调试。端同样按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
Claims (1)
1.一种金融税控收款机嵌入程序的断点调试方法,其特征在于,用软件接管目标系统的异常处理及部分中断处理,在其中插入调试端口通信模块与PC主机的调试器交互;具体步骤如下:
1)嵌入端-调试器的指令集
根据嵌入端数据结构的特点以及调试的需要,确定在调试中被输出的数据,然后定义一个“嵌入端-调试器”的指令集,该指令集详细定义调试器与嵌入端的物理接口、通信传输协议以及每个程序指令的命令字、参数、返回值以及两端的交互方式,定义调试器命令嵌入端返回数据以及嵌入端把调试信息传给调试器的数据格式;
2)编写嵌入端程序
编写一个“伪断点”功能函数,,该函数无需参数和返回值,主程序调用它时,则进入断点调试状态,该断点程序要实现的功能有以下三部分:
a、中断和结束中断的能力
该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环体内,达到“中断”的目的,同时,跳出循环;完成本次“中断”的条件是在循环体中根据需定义增加消息处理机制,处理的消息包括按键消息或端口接受到数据的消息;
b、接收和处理调试器指令的能力
在嵌入端进入中断状态后,“伪断点”的循环体中反复侦听端口状态,等待调试器端指令,一旦端口数据出现,即终端收到调试器指令时,嵌入端程序随即根据指令集的格式对其进行解析,分别得到命令字及其参数;
c、获取和输出数据值的能力
解析出调试器指令后,嵌入端程序把这个“伪断点”状态下的调试器需要的数据逐一整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式的要求,将数据打包、传回调试器;
3)调试器的功能实现
a、设定友好的图形界面
调试器是该调试方法的最终输出,按照终端数据结构的特点进行布局设定一个友好的图形界面,在图形界面中,既要明确输出各个断点在程序中的标识和位置,又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方式;
b、断点调试
在嵌入端进入某个“伪断点”后,调试器开始调试,按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100152357A CN101551928A (zh) | 2009-05-14 | 2009-05-14 | 一种金融税控收款机嵌入程序的断点调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100152357A CN101551928A (zh) | 2009-05-14 | 2009-05-14 | 一种金融税控收款机嵌入程序的断点调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101551928A true CN101551928A (zh) | 2009-10-07 |
Family
ID=41156156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100152357A Pending CN101551928A (zh) | 2009-05-14 | 2009-05-14 | 一种金融税控收款机嵌入程序的断点调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101551928A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407110A (zh) * | 2016-09-06 | 2017-02-15 | 芯海科技(深圳)股份有限公司 | 一种基于IC TraceBuffer的调试方法 |
CN106452807A (zh) * | 2015-08-04 | 2017-02-22 | 深圳市中兴微电子技术有限公司 | 一种网络处理器及报文处理数据的获取方法 |
CN106502695A (zh) * | 2016-10-26 | 2017-03-15 | 合肥润客软件科技有限公司 | 一种基于嵌入式软件开发方法 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
-
2009
- 2009-05-14 CN CNA2009100152357A patent/CN101551928A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452807A (zh) * | 2015-08-04 | 2017-02-22 | 深圳市中兴微电子技术有限公司 | 一种网络处理器及报文处理数据的获取方法 |
CN106452807B (zh) * | 2015-08-04 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 一种网络处理器及报文处理数据的获取方法 |
CN106407110A (zh) * | 2016-09-06 | 2017-02-15 | 芯海科技(深圳)股份有限公司 | 一种基于IC TraceBuffer的调试方法 |
CN106502695A (zh) * | 2016-10-26 | 2017-03-15 | 合肥润客软件科技有限公司 | 一种基于嵌入式软件开发方法 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102214132B (zh) | 一种调试龙芯cpu和南北桥芯片的方法和装置 | |
CN103226506B (zh) | 内嵌于芯片的usb转jtag调试装置及其调试方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN101354676A (zh) | 一种嵌入式程序调试方法 | |
CN101551928A (zh) | 一种金融税控收款机嵌入程序的断点调试方法 | |
CN107492218A (zh) | 测试pos机的方法、装置及计算机可读存储介质、终端设备 | |
CN108427640A (zh) | 一种在用户态下调试驱动程序的方法 | |
CN102480467A (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN103605068A (zh) | 键盘多功能自动化测试的系统及方法 | |
CN102063367B (zh) | 针对当机程序的离线分析方法及装置 | |
CN203250308U (zh) | 内嵌于芯片的usb转jtag调试装置 | |
CN102566481B (zh) | 一种基于c语言的plc控制系统及其实现方法 | |
CN101751331A (zh) | 网络计算机平台板级调试的在线加载监听方法及其系统 | |
CN104461796B (zh) | 用于嵌入式8051cpu的jtag调试模块及调试方法 | |
CN202453435U (zh) | 调试控制设备、调试执行设备及调试系统 | |
CN100458800C (zh) | 电子电路设计的自动构建系统及自动构建方法 | |
CN102193898B (zh) | 电脑系统的中央处理器开核装置 | |
CN101751324B (zh) | 非接触式智能卡仿真器及工作模式切换方法 | |
JP4910710B2 (ja) | プログラム作成装置 | |
CN104346208B (zh) | 仿真器系统及仿真芯片 | |
CN209570925U (zh) | 用于tee测试的板卡设备 | |
Li et al. | Research of “Stub” remote debugging technique | |
JP2008204023A (ja) | プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法 | |
CN104200033A (zh) | 基于fpga和dsp的高速电路板串口的调试方法 | |
CN105516158A (zh) | 一种可配置协议转换状态机电路结构及协议配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091007 |