基于串口的人机交互调试方法技术

技术编号:28130008 阅读:37 留言:0更新日期:2021-04-19 11:50
本发明专利技术属于计算机领域,涉及一种基于串口的人机交互调试方法,方法包括以下步骤:1)计算机通过嵌入式硬件系统预留的uart调试接口输入任意字符串;2)判断是否有回车键命令,若是,则进行步骤3),若否,则退出;3)对收到的字符串的函数进行解析;4)将执行结果输出到嵌入式硬件系统预留的uart调试接口,打印到计算机的串口。本发明专利技术无需在PC侧额外开发上位机软件,并且能在串口上灵活输入指令进行调试,大大提高了问题定位效率,也方便在批量生产阶段进行自动化测试。进行自动化测试。进行自动化测试。

【技术实现步骤摘要】
基于串口的人机交互调试方法


[0001]本专利技术属于计算机领域,涉及一种人机交互调试方法,尤其涉及一种基于串口的人机交互调试方法。

技术介绍

[0002]一般的嵌入式硬件系统,在调试阶段,在使用仿真器的情况下,可以在调试时查看软件的运行轨迹、堆栈信息,从而根据这些信息来查找硬件或软件的bug;但是到了一定阶段,由于硬件的JTAG调试接口无法再使用,也就无法再使用仿真器;这时候为了方便定位问题,硬件上都会预留uart作为调试接口,一是在特定阶段打印软件运行信息,另外就是接收来自外部的指令,软件根据指令去做指定的事情。
[0003]由于种种原因,目前的嵌入式软件OS多达数十种,较常见的如vxworks、linux、free

RTOS、uc/OS

II/III、eCos等,除了vxworks、linux等大型软件提供shell工具,其他的小型嵌入式OS基本上没有提供人机交互的调试手段,更不用说无OS的裸跑嵌入式软件;在这些小型OS或裸跑的嵌入式系统中,uart主要的作用输出就是打印信息了,相当于缺失了另一半很重要的调试功能:接收外部的指令做指定的事情。最终虽然都能实现各自系统的功能,但是由于调试手段的缺失,调试过程就比较麻烦,在批量生成时,也很难满足自动化测试要求;有些嵌入式产品可能也会基于uart开发一套基于特定协议的通信接口,再在PC侧开发对应的上位机软件,也能实现一定的调试手段,但是这种方法不灵活也不直观,还得在PC侧额外开发上位机软件,工作量也比较大;
专利
技术实现思路

[0004]为了解决
技术介绍
中存在的上述技术问题,本专利技术提供了一种基于uart并方便移植到各种小型OS或者无OS的嵌入式系统的人机交互调试手段,无需在PC侧额外开发上位机软件,使用计算机自身携带的超级终端或者其他通用的串口收发软件即可;并且能在串口上灵活输入指令进行调试,大大提高了问题定位效率,也方便在批量生产阶段进行自动化测试。
[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]一种基于串口的人机交互调试方法,其特征在于:所述基于串口的人机交互调试方法包括以下步骤:
[0007]1)计算机通过串口与嵌入式硬件系统预留的uart调试接口相连,并通过嵌入式硬件系统预留的uart调试接口输入任意字符串;
[0008]2)嵌入式硬件系统收到字符串后判断是否有回车键命令,若是,则进行步骤3),若否,则退出人机交互调试;
[0009]3)嵌入式硬件系统对收到的字符串的函数进行解析,得到解析后的函数,判断解析得到的函数是否存在于嵌入式硬件系统所自带函数的列表中,若是,则执行解析后的函数;若否,则将解析后的函数直接注入嵌入式硬件系统所自带函数的列表中,并执行解析后
的函数;
[0010]4)将执行结果输出到嵌入式硬件系统预留的uart调试接口,打印到计算机的串口,实现人机交互调试。
[0011]上述串口是RS485、RS232或RS422。
[0012]上述嵌入式硬件系统是带有嵌入式处理器的嵌入式硬件系统。
[0013]上述嵌入式硬件系统是带有CPU、MCU或DSP的嵌入式硬件系统。
[0014]上述任意字符串包括函数以及设置在函数中的参数;所述参数是正数、负数或字符串。
[0015]本专利技术的优点是:
[0016]本专利技术提供了一种基于串口的人机交互调试方法,包括1)计算机通过串口与嵌入式硬件系统预留的uart调试接口相连,并通过嵌入式硬件系统预留的uart调试接口输入任意字符串;2)嵌入式硬件系统收到字符串后判断是否有回车键命令,若是,则进行步骤3),若否,则退出人机交互调试;3)嵌入式硬件系统对收到的字符串的函数进行解析,得到解析后的函数,判断解析得到的函数是否存在于嵌入式硬件系统所自带函数的列表中,若是,则执行解析后的函数;若否,则将解析后的函数直接注入嵌入式硬件系统所自带函数的列表中,并执行解析后的函数;4)将执行结果输出到嵌入式硬件系统预留的uart调试接口,打印到计算机的串口,实现人机交互调试。本专利技术提供的基于uart的人机交互调试方法,适用于含CPU/MCU/DSP等嵌入式处理器的嵌入式系统,该方法依赖于硬件系统提供的uart接口作为人机交互通道。本专利技术对串口输入字符串的解析进行了统一的封装,能支持函数名、参数的解析,参数可以是正、负数,也可以是字符串,可以支持多参数解析;输入错误可以通过回退键逐个删除字符;可以动态注册调试的函数对象,即通过串口进行现场注册,无需刷新程序;本专利技术所提供的基于串口的人机交互调试方法的人机交互界面友好,类似vxworks、linux的shell输入界面,比较符合大部分程序员的调试习惯;可以灵活调试想要调试的函数,只要是该嵌入式系统里的函数,都可以通过该shell模块的输入进行调试而无需添加额外代码或者重新更新程序;不依赖于嵌入式硬件类型,方便移植到各小型OS或无OS的嵌入式系统;提高了嵌入式系统的软硬件调试效率和测试验证效率。
附图说明
[0017]图1是本专利技术所提供的基于串口的人机交互调试方法中shell模块的流程图。
具体实施方式
[0018]参见图1,本专利技术提供了一种基于串口的人机交互调试方法,该方法方法包括以下步骤:
[0019]1)计算机通过串口(RS485、RS232或RS422等)与嵌入式硬件系统(带有嵌入式处理器的嵌入式硬件系统,尤其是带有CPU、MCU或DSP的嵌入式硬件系统)预留的uart调试接口相连,并通过嵌入式硬件系统预留的uart调试接口输入任意字符串(包括函数以及设置在函数中的参数;所述参数是正数、负数或字符串);
[0020]2)嵌入式硬件系统收到字符串后判断是否有回车键命令,若是,则进行步骤3),若否,则退出人机交互调试;
[0021]3)嵌入式硬件系统对收到的字符串的函数进行解析,得到解析后的函数,判断解析得到的函数是否存在于嵌入式硬件系统所自带函数的列表中,若是,则执行解析后的函数;若否,则将解析后的函数直接注入嵌入式硬件系统所自带函数的列表中,并执行解析后的函数;
[0022]4)将执行结果输出到嵌入式硬件系统预留的uart调试接口,打印到计算机的串口,实现人机交互调试。
[0023]实例1基于DSP uart的交互式调试
[0024]以DSP(TMS320C6657)系统为例,嵌入式软件运行SYS BIOS操作系统或者裸跑(无操作系统),移植该shell模块后,以uart0作为调试串口:
[0025]1)串口输入任意非调试函数列表的字符串,然后回车,shell模块执行失败,提示函数不存在;
[0026]2)串口输入flash读/写接口,读写参数可调整,查看flash读写的正确性;
[0027]3)串口输入查看DSP外置DDR的内存的命令,能正确打印出对应内存端的数据;
[0028]4)根据DSP编译结果的map信息,现场注册一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于串口的人机交互调试方法,其特征在于:所述基于串口的人机交互调试方法包括以下步骤:1)计算机通过串口与嵌入式硬件系统预留的uart调试接口相连,并通过嵌入式硬件系统预留的uart调试接口输入任意字符串;2)嵌入式硬件系统收到字符串后判断是否有回车键命令,若是,则进行步骤3),若否,则退出人机交互调试;3)嵌入式硬件系统对收到的字符串的函数进行解析,得到解析后的函数,判断解析得到的函数是否存在于嵌入式硬件系统所自带函数的列表中,若是,则执行解析后的函数;若否,则将解析后的函数直接注入嵌入式硬件系统所自带函数的列表中,并执行解析后的函数;4)将执行结果输出到嵌入式硬件系统...

【专利技术属性】
技术研发人员:赵新星邓国理
申请(专利权)人:西安富成防务科技有限公司
类型:发明
国别省市:

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

1