专利名称:一种金融税控收款机嵌入程序的断点调试方法
技术领域:
本发明涉及一种金融税控收款机生产技术,具体地说是一种通过在调试器 (主机)与金融税控收款机嵌入程序之间插入断点建立通信的嵌入式应用程序调 试方法。
背景技术:
调试是开发过程中必不可少的环节,通用的PC操作系统调试环境与嵌入操作 系统调试环境有巨大差异。其中,基于PC操作系统调试工具与被调试的程序往往
在同一台设备、同一个操作系统上运行的两个进程,调试器进程通过操作系统专 门提供的调用接口控制、访问被调试进程。而嵌入式操作系统调试又称为远程调 试,调试器可以由基于特定硬件平台的嵌入式设备本身或由桌面操作系统的应用 程序担当。为了提供灵活、友好的调试界面,调试器往往运行于后者,而被调试 的程序则运行于嵌入式系统中。
对于嵌入式程序的调试来说,面临下列问题调试器与被调试程序如何通信, 被调试程序产生异常如何及时通知调试器,调试器如何控制、访问被调试程序、 如何识别有关被调试程序的数据信息并实时査看,调试器如何处理某些与目标硬 件平台相关的信息等等。
发明内容
本发明的目的是提供一种金融税控收款机嵌入程序的断点调试方法。
本发明的目的是按以下方式实现的,用软件接管金融税控收款机系统的异常处
理及部分中断处理,在其中插入调试端口通信模块,与PC主机的调试器交互。在
目标操作系统初始化,特别是调试通信端口初始化完成后,调试器开始起作用。 异常处理程序或中断处理程序调用调试端口通信模块,等待调试器上的调试器发
送信息;双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器 根据用户命令生成的指令。 具体步骤如下
1) 嵌入端-调试器的指令集
根据嵌入端数据结构的特点以及调试的需要,确定在调试中被输出的数据,然 后定义一个"嵌入端-调试器"的指令集,该指令集详细定义调试器与嵌入端的物 理接口、通信传输协议以及每个程序指令的命令字、参数、返回值以及两端的交 互方式,定义调试器命令嵌入端返回数据以及嵌入端把调试信息传给调试器的数
据格式;
2) 编写嵌入端程序
编写一个"伪断点"功能函数,,该函数无需参数和返回值,主程序调用它时, 则进入断点调试状态,该断点程序要实现的功能有以下三部分a、 中断和结束中断的能力
该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环 体内,达到"中断"的目的,同时,跳出循环;完成本次"中断"的条件是在循 环体中根据需定义增加消息处理机制,处理的消息包括按键消息或端口接受到数 据的消息;
b、 接收和处理调试器指令的能力
在嵌入端进入中断状态后,"伪断点"的循环体中反复侦听端口状态,等待调 试器端指令, 一旦端口数据出现,即终端收到调试器指令时,嵌入端程序随即根 据指令集的格式对其进行解析,分别得到命令字及其参数;
c、 获取和输出数据值的能力
解析出调试器指令后,嵌入端程序把这个"伪断点"状态下的调试器需要的数 据逐一整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式 的要求,将数据打包、传回调试器;
3)调试器的功能实现
a、 设定友好的图形界面
调试器是该调试方法的最终输出,按照终端数据结构的特点进行布局设定一个 友好的图形界面,在图形界面中,既要明确输出各个断点在程序中的标识和位置, 又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方式;
b、 断点调试
在嵌入端进入某个"伪断点"后,调试器开始调试,按照指令集的格式将调试 指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对 其进行解析,分别得到命令字极其参数,整理出包括变量值、MM数据以及FLASH 数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。 本发明的有益效果是,所述方法除可应用于调试运行于金融税控收款机系统之 上的应用程序,还适用于税控收款机、金融P0S机、手持终端等具有嵌入式系统 和应用程序的终端。
具体实施例方式
本发明的方法是用软件接管目标系统的异常处理及部分中断处理,通过调用调 试端口通信模块,等待调试器发送信息;双方建立连接后调试器便等待用户发出 调试命令,目标系统等待调试器根据用户命令生成的指令。其实现步骤如下
1) 嵌入端-调试器的指令集
根据嵌入端数据结构的特点以及调试的需要,确定哪些数据可能会在调试中被 输出,然后定义一个"嵌入端-调试器"的指令集。该指令集详细定义调试器与嵌 入端的物理接口、通信传输协议,以及每个程序指令的命令字、参数、返回值以 及两端的交互方式,用以说明调试器如何命令嵌入端返回数据,以及嵌入端把调 试信息传给调试器的数据格式。
2) 嵌入端的程序实现
编写一个功能函数,也就是上述"伪断点"。该函数无需参数和返回值,主程 序调用它时,则进入断点调试状态,只有专门操作才可以跳出这段断点继续运行主程序。该断点程序要实现的功能有以下3部分
a、 中断和结束中断的能力
该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环 体内,达到"中断"的目的。同时,跳出循环,也就是完成本次"中断"的条件 可以在循环体中根据需要来定义,它必须是某种消息,如按键消息或端口接受到 数据的消息,故必须在循环体中增加消息处理机制。
b、 接收和处理调试器指令的能力
在嵌入端进入中断状态后,"伪断点"的循环体中反复侦听端口状态,等待调 试器端指令,这是中断的目的所在一一调试。 一旦端口数据出现,即终端收到调 试器指令时,嵌入端程序随即根据指令集的格式对其进行解析,分别得到命令字 及其参数。
c、 获取和输出数据值的能力
解析出调试器指令后,嵌入端程序把这个"伪断点"状态下的调试器需要的数
据逐一整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式 的要求,将数据打包、传回调试器。 3)调试器的功能实现
a、 友好的图形界面
调试器是该调试方法的最终输出, 一个友好的图形界面是必不可少的。可以按 照终端数据结构的特点来进行布局,既要明确输出各个断点在程序中的标识和位 置,又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方 式。这里不再细述,可以根据不同的PC软件开发工具具体设计。
b、 断点调试
在嵌入端进入某个"伪断点"后,调试器就可以开始调试。端同样按照指令集 的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指 令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、MM数 据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试 与分析的目的。
权利要求
1.一种金融税控收款机嵌入程序的断点调试方法,其特征在于,用软件接管目标系统的异常处理及部分中断处理,在其中插入调试端口通信模块与PC主机的调试器交互;具体步骤如下1)嵌入端-调试器的指令集根据嵌入端数据结构的特点以及调试的需要,确定在调试中被输出的数据,然后定义一个“嵌入端-调试器”的指令集,该指令集详细定义调试器与嵌入端的物理接口、通信传输协议以及每个程序指令的命令字、参数、返回值以及两端的交互方式,定义调试器命令嵌入端返回数据以及嵌入端把调试信息传给调试器的数据格式;2)编写嵌入端程序编写一个“伪断点”功能函数,,该函数无需参数和返回值,主程序调用它时,则进入断点调试状态,该断点程序要实现的功能有以下三部分a、中断和结束中断的能力该函数中,必须用循环控制指令将程序的运行中断,中断后的程序停留在循环体内,达到“中断”的目的,同时,跳出循环;完成本次“中断”的条件是在循环体中根据需定义增加消息处理机制,处理的消息包括按键消息或端口接受到数据的消息;b、接收和处理调试器指令的能力在嵌入端进入中断状态后,“伪断点”的循环体中反复侦听端口状态,等待调试器端指令,一旦端口数据出现,即终端收到调试器指令时,嵌入端程序随即根据指令集的格式对其进行解析,分别得到命令字及其参数;c、获取和输出数据值的能力解析出调试器指令后,嵌入端程序把这个“伪断点”状态下的调试器需要的数据逐一整理,包括变量值、RAM数据以及FLASH数据;并根据该指令返回数据格式的要求,将数据打包、传回调试器;3)调试器的功能实现a、设定友好的图形界面调试器是该调试方法的最终输出,按照终端数据结构的特点进行布局设定一个友好的图形界面,在图形界面中,既要明确输出各个断点在程序中的标识和位置,又要合理布局各个变量值、RAM数据以及FLASH数据的显示输出区域和输出方式;b、断点调试在嵌入端进入某个“伪断点”后,调试器开始调试,按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
全文摘要
本发明提供一种金融税控收款机嵌入程序的断点调试方法,用软件接管金融税控收款机系统的异常处理及部分中断处理,在其中插入调试端口通信模块,与PC主机的调试器交互,在目标操作系统初始化,特别是调试通信端口初始化完成后,调试器开始起作用,异常处理程序或中断处理程序调用调试端口通信模块,等待调试器上的调试器发送信息;双方建立连接后调试器便等待用户发出调试命令,目标系统等待调试器根据用户命令生成的指令,在嵌入端进入某个“伪断点”后,调试器开始调试,按照指令集的格式将调试指令打包并发给嵌入端,待嵌入端返回调试数据后,调试器根据指令集的格式对其进行解析,分别得到命令字极其参数,整理出包括变量值、RAM数据以及FLASH数据等,然后显示在图形界面中,达到嵌入式程序开发的断点调试与分析的目的。
文档编号G07G1/12GK101551928SQ20091001523
公开日2009年10月7日 申请日期2009年5月14日 优先权日2009年5月14日
发明者王永军, 松 门, 黄正茂 申请人:浪潮齐鲁软件产业有限公司