CN104503898B - 一种嵌入式软件调试参数实时查看的方法及系统 - Google Patents

一种嵌入式软件调试参数实时查看的方法及系统 Download PDF

Info

Publication number
CN104503898B
CN104503898B CN201410675334.9A CN201410675334A CN104503898B CN 104503898 B CN104503898 B CN 104503898B CN 201410675334 A CN201410675334 A CN 201410675334A CN 104503898 B CN104503898 B CN 104503898B
Authority
CN
China
Prior art keywords
debugging
real time
tuning parameter
host computer
parameter
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.)
Active
Application number
CN201410675334.9A
Other languages
English (en)
Other versions
CN104503898A (zh
Inventor
谢鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201410675334.9A priority Critical patent/CN104503898B/zh
Publication of CN104503898A publication Critical patent/CN104503898A/zh
Application granted granted Critical
Publication of CN104503898B publication Critical patent/CN104503898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及软件调试技术领域,本发明公开了一种嵌入式软件调试参数实时查看的方法,其具体包括以下的步骤:步骤一、设置串口通信模块,所述串口通信模块用于控制设置在微控制单元MCU上的串口进行异步通信;步骤二、微控制单元MCU进行软件调试;步骤三、调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。本发明通过在MCU上设置串口,通过串口将调试参数发送给上位机,上位机解析并显示给调试人员实时查看,从而实现实时查看程序中的调试参数信息,方便了调试人员在线进行程序调试。

Description

一种嵌入式软件调试参数实时查看的方法及系统
技术领域
本发明涉及软件调试技术领域,本发明公开了一种嵌入式软件调试参数实时查看的方法及系统。
背景技术
目前嵌入式MCU程序的开发和调试,都要配备专用的IDE(集成开发环境),通过IDE可以完成Edit/Compile/Debug等功能。其中,Debug的Watch功能对于程序开发者来说尤为重要,通过这个查看窗口可以了解到程序的运行状况,继而完成对程序的调试。然而,有些IDE的WATCH窗口并不能实时更新显示列表中参数值,只有程序被Interrupt的时候,才能更新。虽然这种IDE有的也能够通过周期性的中断来更新WATCH窗口变量列表,模拟实时参数更新,但这使得IDE自身的调试速度和性能都大打折扣,使用很不方便,界面也不友好。总的来说这一点远远比不上具有在线实时调试功能的IDE,因为不能实时查看程序中的变量和标志等信息,使得程序调试变得很不方便。
发明内容
本发明的目的是针对现有技术中的程序调试方法不能实时查看调试参数的技术问题,本发明公开了一种嵌入式软件调试参数实时查看的方法,本发明还公开了一种嵌入式软件调试参数实时查看的系统。
本发明的目的通过下述技术方案来实现:一种嵌入式软件调试参数实时查看的方法,其具体包括以下的步骤:步骤一、设置串口通信模块,所述串口通信模块用于控制设置在微控制单元MCU上的串口进行异步通信;步骤二、微控制单元MCU进行软件调试;步骤三、调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。本发明通过在MCU上设置串口,通过串口将调试参数发送给上位机,上位机解析并显示给调试人员实时查看,从而实现实时查看程序中的变量信息,方便了调试人员在线进行程序调试。
更进一步地,上述步骤二中的微控制单元MCU进行软件调试的具体过程如下,其具体包括:步骤2.1、移植并初始化调试模块;步骤2.2、装载调试参数表;步骤2.3、读取调试参数表中的一个调试参数并通过串口传输给上位机,判断该变量是否是调试参数表的末尾,是,则将指针移至调试参数表首部,否则重新执行该步骤。通过装载调试参数表,并将调试参数表的变量传输给上位机,上位机实时接收解析并显示出调试参数。
更进一步地,在上述调试参数上追加其符号名后再通过串口传输给上位机。通过在调试参数上追加其符号名,方便调试人员快速了解该变量的含义,从而真正实现在线调试。
更进一步地,上述步骤三中上位机接收并解析出调试参数给调试人员实时查看的具体过程如下, 其具体包括:步骤3.1、初始化界面;步骤3.2、初始化定时器;步骤3.3、初始化数据缓存区;步骤3.4、循环接收并存储调试参数;步骤3.5、读取存储的调试参数并显示。通过设置数据缓存区,可以实时读取并更新调试参数列表,以配合在线调试IDE实现实时调试功能。本发明的方法能够实时更新显示WATCH嵌入式MCU内部各种调试参数、标志,实现嵌入式程序开发实时调试的方法,通过搭建开发板与上位机的高速通信来实现。嵌入式MCU主控板能够依次实时读取参数值,并追加其符号名,通过串口按照一定协议实时输出数据信息。
本发明还公开了一种嵌入式软件调试参数实时查看的系统,其具体包括目标开发板、微控制单元MCU、仿真器、IDE调试主机和上位机,所述微控制单元MCU上设置异步通信串口,通过该异步通信串口连接上位机,所述仿真器连接目标开发板和IDE调试主机,所述调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。
通过采用以上的技术方案,本发明具有以下的有益效果:本发明通过在MCU上设置串口,通过串口将调试参数发送给上位机,上位机解析并显示给调试人员实时查看,从而实现实时查看程序中的变量信息,方便了调试人员在线进行程序调试。通过参数WATCH调试程序接收并解析数据,实时更新符号名列表及参数值,配合调试IDE实现在线实时调试功能。脱离IDE调试独立测试程序内部参数。当程序调试完成甚至程序发布后,也可以通过预留输出一些系统关键参数,通过实时WATCH在软件测试阶段或者产品售后分析使用。
附图说明
图1为微控制单元MCU进行软件调试的具体过程。
图2为上位机接收并解析出调试参数给调试人员实时查看的具体过程。
图3为嵌入式软件调试参数实时查看的系统。
具体实施方式
下面结合具体实施例和附图对本发明作进一步的说明。
本发明公开了一种嵌入式软件调试参数实时查看的方法,其具体包括以下的步骤:步骤一、设置串口通信模块,所述串口通信模块用于控制设置在微控制单元MCU上的串口进行异步通信;步骤二、微控制单元MCU进行软件调试;步骤三、调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。本发明通过在MCU上设置串口,通过串口将调试参数发送给上位机,上位机解析并显示给调试人员实时查看,从而实现实时查看程序中的变量信息,方便了调试人员在线进行程序调试。
更进一步地,上述步骤二中的微控制单元MCU进行软件调试的具体过程如图1所示,其具体包括:步骤2.1、移植并初始化调试模块;步骤2.2、装载调试参数表;步骤2.3、读取调试参数表中的一个调试参数并通过串口传输给上位机,判断该变量是否是调试参数表的末尾,是,则将指针移至调试参数表首部,否则重新执行该步骤。通过装载调试参数表,并将调试参数表的变量传输给上位机,上位机实时接收解析并显示出调试参数。
更进一步地,在上述调试参数上追加其符号名后再通过串口传输给上位机。通过在调试参数上追加其符号名,方便调试人员快速了解该变量的含义,从而真正实现在线调试。
更进一步地,上述步骤三中上位机接收并解析出调试参数给调试人员实时查看的具体过程如图2所示, 其具体包括:步骤3.1、初始化界面;步骤3.2、初始化定时器,(上位机包含一个数据缓冲池,通过设置的定时器,从缓冲池中按一定规则取出数据,实时解析并展示给调试人员);步骤3.3、初始化数据缓存区;步骤3.4、循环接收并存储调试参数;步骤3.5、读取存储的调试参数并显示。通过设置数据缓存区,可以实时读取并更新调试参数列表,以配合在线调试IDE实现实时调试功能。本发明的方法能够实时更新显示WATCH嵌入式MCU内部各种调试参数、标志,实现嵌入式程序开发实时调试的方法,通过搭建开发板与上位机的高速通信来实现。嵌入式MCU主控板能够依次实时读取参数值,并追加其符号名,通过串口按照一定协议实时输出数据信息。
其中的一个实施列
步骤1:在MCU端实现一个串口通信模块,实现其基本的异步串口收发功能即可。
步骤2:在MCU端移植实时调试参数(WATCH模块)库函数, “WATCH”是上位机程序界面中的参数实时查看窗口,而移植这个函数库(模块)就是为其提供数据的来源,“移植”是为了不同单片机。该库函数API接口按照图1所示流程图实现。移植时,只需在串口通信的发送和接收处理的位置调用相应API函数。单片机(MCU)的异步串口通信分为发送数据和接收数据两部分,单片机调用刚才所移植的函数模块,就可以向上位机按一定规则发送数据。
步骤3:装载WATCH参数列表。MCU端所移植的函数模块,具有参数装载功能;需要实时查看哪些参数(变量或标志位等)在MCU的内存中,看不见摸不着;装载这些参数到单片机(MCU)的异步串口通信上,然后高速发送给上位机,以便上位机解析使用这些数据(实时查看的参数))在MCU端维护一个实时更新的串出。“串出”,异步串口通信,高速(串行方式)输出数据,参数表,程序编译运行后,串口按照约定好的波特率高速循环输出,实时更新列表数据,MCU将待实时查看的内存数据发送给上位机后,电脑上运行的上位机程序通过列表的方式,根据接收到的数据,实时更新并显示这些内存参数(名称及变量值)。
步骤4:在上位机端,接收和解析数据处理流程图如图2所示。通过参数WATCH调试程序接收并解析数据,实时更新(参照步骤3)符号名列表及参数值,配合(将参数实时显示出来,以配合IDE调试单片机程序)IDE调试,实现在线实时调试功能。
步骤5:脱离IDE调试独立测试程序内部参数。当程序调试完成甚至程序发布后,也可以通过预留输出一些系统关键参数,通过实时WATCH在软件测试阶段或者产品售后分析使用。意思就是说,单片机软件开发完成后,不需要IDE调试软件,只需接上PCB板上单片机的串口,把需要的数据输出给电脑端,就独立能查看单片机内部的状态参数,该功能在软件测试阶段或者产品售后分析都能使用。
本发明还公开了一种嵌入式软件调试参数实时查看的系统,如图3(上位机就是电脑上运行的一个能够WATCH参数的程序,MCU(单片机)在目标开发板上,就是家电等的主控制芯片)所示,其具体包括目标开发板、微控制单元MCU、仿真器、IDE调试主机和上位机,所述微控制单元MCU上设置异步通信串口,通过该异步通信串口连接上位机,所述仿真器连接目标开发板和IDE调试主机,所述调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。通过上述系统,实现嵌入式软件调试参数的实时查看。
本发明利用MCU硬件或者软件模拟实现一个串口通信功能,然后移植该方法中提及的参数调试模块,搭建与上位机端的专用串口调试程序的通信系统,完成软件调试参数实时WATCH功能,辅助程序调试和测试。具体的,该方法通过串口通信模块,向上位机高速循环发送已经装载的符号值数据串,上位机通过一定的缓冲技术接收存储数据,并按约定实时解析和显示缓存中的符号及对应的值,结合IDE相关功能调试程序,便能达到实时在线仿真的目的。
通过该方法的实现,能够很好的辅助嵌入式软件开发人员进行软件调试,缩短软件开发周期。同时也可以辅助软件测试人员进行测试,及时发现软件的漏洞和问题。通过该方法的实现,还能够很好的弥补那些不支持实时在线调试功能的IDE的不足,实现在线实时调试,使得程序调试更加方便和高效。
以上上述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种嵌入式软件调试参数实时查看的方法,其具体包括以下的步骤:步骤一、设置串口通信模块,所述串口通信模块用于控制设置在微控制单元MCU上的串口进行异步通信;步骤二、微控制单元MCU进行软件调试;步骤三、调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看;
所述步骤三中上位机接收并解析出调试参数给调试人员实时查看的过程具体包括:步骤3.1、初始化界面;步骤3.2、初始化定时器;步骤3.3、初始化数据缓存区;步骤3.4、循环接收并存储调试参数;步骤3.5、读取存储的调试参数并显示。
2.如权利要求1所述的嵌入式软件调试参数实时查看的方法,其特征在于所述步骤二中的微控制单元MCU进行软件调试的具体包括:步骤2.1、移植并初始化调试模块;步骤2.2、装载调试参数表;步骤2.3、读取调试参数表中的一个调试参数并通过串口传输给上位机。
3.如权利要求2所述的嵌入式软件调试参数实时查看的方法,其特征在于所述方法还包括判断该调试参数是否是调试参数表的末尾,是,则将指针移至调试参数表首部,否则继续执行步骤2.3。
4.如权利要求2或者3所述的嵌入式软件调试参数实时查看的方法,其特征在于所述方法还包括在上述调试参数上追加其符号名后再通过串口传输给上位机。
5.基于权利要求1到4之一所述嵌入式软件调试参数实时查看的方法的调试参数实时查看的系统,其特征在于具体包括目标开发板、微控制单元MCU、仿真器、IDE调试主机和上位机,所述微控制单元MCU上设置异步通信串口,通过该异步通信串口连接上位机,所述仿真器连接目标开发板和IDE调试主机,所述调试程序从仿真器中获取到调试参数并运行,串口通信模块实时将该调试参数输出给上位机,上位机接收并解析出该调试参数给调试人员实时查看。
CN201410675334.9A 2014-11-24 2014-11-24 一种嵌入式软件调试参数实时查看的方法及系统 Active CN104503898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410675334.9A CN104503898B (zh) 2014-11-24 2014-11-24 一种嵌入式软件调试参数实时查看的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410675334.9A CN104503898B (zh) 2014-11-24 2014-11-24 一种嵌入式软件调试参数实时查看的方法及系统

Publications (2)

Publication Number Publication Date
CN104503898A CN104503898A (zh) 2015-04-08
CN104503898B true CN104503898B (zh) 2017-09-01

Family

ID=52945297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410675334.9A Active CN104503898B (zh) 2014-11-24 2014-11-24 一种嵌入式软件调试参数实时查看的方法及系统

Country Status (1)

Country Link
CN (1) CN104503898B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200445B (zh) * 2015-05-06 2018-09-25 西门子工厂自动化工程有限公司 逻辑控制器的调试方法
CN105740117B (zh) * 2016-01-29 2018-05-25 硅谷数模半导体(北京)有限公司 芯片调试方法和装置
CN105786576B (zh) * 2016-03-17 2019-06-04 硅谷数模半导体(北京)有限公司 基于串口的芯片调试方法和装置
CN106557351B (zh) * 2016-11-21 2019-08-09 广东高标电子科技有限公司 嵌入式应用程序的数据处理方法及装置
CN108920373B (zh) * 2017-12-29 2021-06-22 大唐终端技术有限公司 嵌入式软件调试系统及其方法
CN111177002A (zh) * 2019-12-27 2020-05-19 西北工业大学 一种控制器参数无线分析调试的系统和方法
CN116225925B (zh) * 2023-02-21 2023-11-21 东南大学 一种计算机软件在线实时可视化调试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991784A (zh) * 2005-12-30 2007-07-04 北京中电华大电子设计有限责任公司 利用HDL扩展串口的SoC系统在线调试方法
CN102495353A (zh) * 2011-12-27 2012-06-13 重庆西南集成电路设计有限责任公司 射频集成电路测试系统及控制方法
CN103149954A (zh) * 2013-01-31 2013-06-12 中国科学院上海技术物理研究所 半导体制冷器模拟pid温控电路参数自动整定装置
CN104035360A (zh) * 2014-05-07 2014-09-10 株洲易力达机电有限公司 一种eps控制器的调参方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582045A (zh) * 2008-05-16 2009-11-18 鸿富锦精密工业(深圳)有限公司 计算机测试系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991784A (zh) * 2005-12-30 2007-07-04 北京中电华大电子设计有限责任公司 利用HDL扩展串口的SoC系统在线调试方法
CN102495353A (zh) * 2011-12-27 2012-06-13 重庆西南集成电路设计有限责任公司 射频集成电路测试系统及控制方法
CN103149954A (zh) * 2013-01-31 2013-06-12 中国科学院上海技术物理研究所 半导体制冷器模拟pid温控电路参数自动整定装置
CN104035360A (zh) * 2014-05-07 2014-09-10 株洲易力达机电有限公司 一种eps控制器的调参方法及装置

Also Published As

Publication number Publication date
CN104503898A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
CN104503898B (zh) 一种嵌入式软件调试参数实时查看的方法及系统
CN105739983B (zh) 脚本程序编辑装置及其实现方法
CN102508753B (zh) Ip核验证系统
CN103729288A (zh) 一种嵌入式多核环境下应用程序的调试方法
CN103823698A (zh) Fpga和dsp目标程序的烧写和启动的方法及设备
CN105446933B (zh) 多核心处理器的调试系统与调试方法
CN105843734A (zh) 一种自动化测试方法、装置及计算设备
CN106843873A (zh) 一种远程游戏编程系统
CN101221595A (zh) 将设计行为和外部激励并入仿真模型反馈中的系统和方法
CN103955371B (zh) 对串口仪表进行数据采集的通用软件模块的设计开发方法
SA114360073B1 (ar) تحديد النمط السلوكي للذكاء الاصطناعي
CN106021049A (zh) 国产操作系统验证平台及建立方法
CN107346249A (zh) 一种基于模型的计算机软件开发方法
CN103488513B (zh) 设备即插即用通用驱动方法
CN109558383A (zh) 游戏角色的时装输出处理方法与装置、电子设备
KR101306556B1 (ko) 스마트 기기 기반 통합 로봇 제어 시스템
CN110134604A (zh) 一种无需代码的单元或接口测试方法、装置和计算机设备
CN102508752A (zh) 一种单片机硬件仿真器和仿真方法
CN107729231A (zh) 一种基于操作系统的故障注入方法及装置
CN109426594A (zh) 一种芯片调试装置、方法及计算机可读存储介质
US9117018B2 (en) Method of debugging software and corresponding computer program product
CN105320510B (zh) 一种自动追踪数据关系的方法及装置
CN103678075A (zh) 基于自动矢量生成技术的复杂微处理器测试方法
CN110058542A (zh) 一种基于arm9260的开发平台装置
CN107729601A (zh) 仿真过程中配置ram的方法、装置及计算机存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant