在线调试的串口通信协议测试方法研究
2017-12-28赵春美彭忠全江西应用科技学院
赵春美 彭忠全 江西应用科技学院
在线调试的串口通信协议测试方法研究
赵春美 彭忠全 江西应用科技学院
本次研究中探究了如何进行串口通信协议测试的在线调试方法,应用某型数据传输数字地图子系统中数字地图生成模块软件中的通信协议作为案例进行测试,应用了两种不同的在线调试串口通讯协议的方法。将两种方法应用于串口通讯协议调试中,能够较为简便的解决在某些测试环节中无法进行窗口在线调试的情况,为软件测试领域的在线调试技术提供帮助和参考。
在线调试 串口通信 方法研究
串口通信的本质属于按位传输数据通信方式,这种方式应用较为广泛,其硬件设施简便,及调试过程也较为简单,主要应用于我国工业控制领域。但是就目前来说,部分软件测试环境中,两个配置项之间的通讯窗口无法外接串口线的情况时有发生,所以这就导致被测项和串口调试工具无法进行通信。所以在对串口通信协议进行测试时,就需要利用串口调试工具进行串口数据收发,才能完成数据调试。
1 测试内容
本次研究测试主要内容包括主处理模块、数字地图生成模块,这两者之间通过,RS485进行通信。数据传输内容主要包括命令自检测以及地图数据发送的,必要时,还需要对链路通信进行检查。
2 在线调试方法
2.1 基于超级终端的实现
在本次研究中,与被测软件进行串口通讯时,如果需要对串口的数据代码进行插桩循环发送,则可以采用插桩代码的耦合方式进行耦合控制,并利用超级终端对插桩代码流程进行模拟,并利用串口调试工具中的串口数据发送功能进行串口数据传输,从而实现在线调试。
其主要方法是通过实现DmgmCom函数代码文件中函数代码文件中加入int形势的全局变量,包括,g_cmd 和 g_send。在这两组变量中,g_cmd变量主要用于储存RS485数据,储存完成后,可以向DMGM发送; 而g_send主要用于对发送时间进行调整;当发送变量的rs485数据已经完成储备时,可以将发送变量的时间调整完成,则可以进行数据发送。
值得注意的是,在此循环中,发送变量通常被定义为int类型,而如果需要将发送变量定义为char类型,就需要在超级终端中将g_cmd = 0x5D命令继续输入;输入命令后,超级终端则会根据 0x5D类型,将发送变量中的地址进行相应编码,但如果采用这种方式,想要达到预期的目的,就需要将发送数据储存到两种不同储存模式的内存中,避免发送变量出现问题。
2.2 基于测试开发工具的实现
基于调试开发工具的实现,主要是通过在MPM中插桩代码。完成代码插入后,就可以对MPM进行任务及调试,从而通过MPM向,DMGM发送RS485数据,在数据发送的过程中,则可以完成RS485通讯协议的测试。
首先来说,想要在DmgmCom函数代码文件中加入char类型的全局变量g_cmd 和 g_send,随即采用逻辑流程代码作为替换DmgmCom函数的代码,并将MPM进行重新编译,将编译好后的函数流程,在目标机中进行运行,运行过程中可以应用MBM的调试开发工具对tCom任务进行任务级调试;调试方式是,将发送变量是否等于一的功能代码进行断点设置,并使我能够停留在断点处,然后通过调试开发工具,对两个全局变量进行视窗修改,将其改为0x5D和1,随即使tCom任务继续运行,保证tCom任务能够再次停留在上述断点处。当tCom任务停留至断点处时,则可以通过变量监视窗口,对,recv数据中RS485返回的DMGM数据进行标识,并将发送变量的值修改为0xBE,然后再使任务继续运行,并再次使tCom任务停留在上述断点处,并应用变量监视窗口对DMGM回复的RS4845数据进行调控。
除此之外,在实际应用过程中还可以应用Vx Works 提供的task Suspend函数完成同样操作,并且无需对发送变量进行定义,则可完成相同的功能。这项函数的意义主要是为了对任务进行挂挂起操作。
3 结束语
本文中通过对两种在线调试串口协议的通讯测试方法进行研究,将超级终端以及调试开发工具作为主要的研究对象。实际应用过程中,能够有效解决部分较为困难的问题,是一种良好的处理方案。主要针对在某些测试环境,就难以经用串口调试工具进行串口通讯协议测试,操作方法较为简便,且并不具有较强的局限性。同时,本文中介绍的两种串口通信协议测试方法,并不仅仅局限于串口通信协议的测试,也可以应用于各种测试工作中,不仅具有良好的效果,更具有较高的准确度。给广大软件测试人员带来了较为便利的测试方法,对软件测试领域提供了一种在线调试和解决问题的方法。
[1]赵双强.基于GSM和超短波通信的水情数据采集软件的研制[D].昆明理工大学,2002.
[2]孔林.基于双工控机的微机继电保护测试仪研究与实现[D].华中科技大学,2009.
[3]胡能辉.Modbus通信协议自动测试系统的研究与开发[D].上海交通大学,2011.
[4]李端,姜红旗,林孝康.FPGA原型验证平台信令协议仿真测试系统设计[J].武汉理工大学学报(信息与管理工程版),2006,(05):20-23.