CN109101411A - 一种嵌入式系统的调试方法 - Google Patents
一种嵌入式系统的调试方法 Download PDFInfo
- Publication number
- CN109101411A CN109101411A CN201710474107.3A CN201710474107A CN109101411A CN 109101411 A CN109101411 A CN 109101411A CN 201710474107 A CN201710474107 A CN 201710474107A CN 109101411 A CN109101411 A CN 109101411A
- Authority
- CN
- China
- Prior art keywords
- controller
- breakpoint
- debugging
- page
- configuration instrument
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明公开一种嵌入式系统的调试方法,首先,组态工具设置断点;组态工具控制控制器进入调试运行阶段;组态工具向控制器发送下一步运行方式的指令;结束调试,组态工具向控制器发送停止调试指令,使得控制器结束调试运行状态。此种调试方法可以提供用户在组态工具中设置或删除断点,在调试运行过程中通过组态工具向控制器发送单步调试、逐页调试、逐模块调试、继续执行等指令,从而实现对算法逻辑的调试。
Description
技术领域
本发明属于嵌入式系统技术领域,特别涉及一种嵌入式系统的调试方法。
背景技术
嵌入式控制系统中,一般分为上位机与下位机两部分,上位机运行组态软件,用于编写控制程序,下位机即控制器用于执行控制程序。在组态软件编写的控制程序正式运行之前,需要进行调试操作,从而排查程序中存在的错误或缺陷。
以往的可视化调试通常只能是周期显示装置侧当前运行的值,不具备断点调试功能,需要提供嵌入式系统逻辑断点调试功能的高效实现方法,以提高调试和开发效率。
发明内容
本发明的目的,在于提供一种嵌入式系统的调试方法,其可以提供用户在组态工具中设置或删除断点,在调试运行过程中通过组态工具向控制器发送单步调试、逐页调试、逐模块调试、继续执行等指令,从而实现对算法逻辑的调试。
为了达成上述目的,本发明的解决方案是:
一种嵌入式系统的调试方法,包括如下步骤:
步骤1,组态工具设置断点;
步骤2,组态工具控制控制器进入调试运行阶段;
步骤3,组态工具向控制器发送下一步运行方式的指令;
步骤4,结束调试,组态工具向控制器发送停止调试指令,使得控制器结束调试运行状态。
上述步骤1中,断点信息存储于控制器的断点信息表中。
上述步骤1中,无论组态工具中的断点信息是否完整,控制器按照存储的断点信息表逐个命中断点。
上述步骤1中,组态工具通过指令方式来更新控制器中的断点信息表。
上述步骤2中,在调试运行阶段,若控制器命中某个断点,则进入相应的中断状态,否则控制器运行到程序结束或程序设定的目标状态。
上述步骤3中,组态工具向控制器发送的指令包括单步调试、逐页调试、逐模块调试和继续执行,其中,单步调试即控制器将在运行到下一个逻辑步骤时进行逻辑中断;逐页调试即控制器将在运行到下一个算法页开头处进行逻辑中断;逐模块调试即控制器将在下一个算法模块执行前进行逻辑中断;继续执行即按照控制器维护的断点表继续运行,若存在断点则命中下一个断点,若不存在断点则不出现中断。
采用上述方案后,本发明中的组态工具在控制器中设置及维护断点表,并在控制器中实现逻辑中断功能;调试过程中组态工具向控制器发送下一步的运行方式的指令,控制器按照接收到的运行方式来决定下一次逻辑中断的位置或者无中断连续运行。组态工具获取在逻辑算法页面中设置及删除断点的操作,通过向控制器发送设置及删除断点的指令来维护控制器中的断点表。调试过程中组态工具向控制器发送单步调试、逐页调试、逐模块调试、继续执行等指令,控制器按照接收到的最新指令决定接下来程序运行的逻辑中断位置。控制器在调试运行逻辑中断时主动向组态工具上送中断位置信息,组态工具显示前控制器的运行状态及逻辑中断位置。
本发明提供了一个清晰简洁的逻辑断点调试方法,在实现调试功能的同时尽可能减少了组态工具与控制器之间的复杂信息交互,尽量采用易于实现的简单交互操作,从而降低调试功能的的实现难度,提高调试功能的可靠性,进而确保嵌入式系统的可靠性,对于嵌入式系统的运行效率及运行安全有重要意义。
附图说明
图1是本发明的流程图;
图2是本发明应用的实例中存储断点信息的断点信息表。
具体实施方式
如图1所示,本发明提供一种嵌入式系统的调试方法,包括如下步骤:
(1)组态工具对控制器断点的设置及删除
在调试运行状态下,组态工具可以在逻辑页面中的算法模块上设置断点,即程序运行到该算法模块时即出现逻辑中断,同时组态工具也具备删除断点的功能。设置及删除断点的操作都会向控制器发送指令,控制器接收到指令之后会在本地维护的断点表中设置或删除断点信息。控制器调试运行状态下,默认状态下会逐个命中断点表中的断点。
其中,断点表信息以控制器中存储的内容为准,组态工具中的断点信息是否完整对调试运行没有影响,默认情况下控制器仍然会按照控制器中的断点表逐个命中断点,组态工具也可以使用上召所有断点指令来更新组态工具中的断点信息。
(2)组态工具向控制器发送下一步运行方式的指令
在调试运行状态下,组态工具能够对控制器发出单步调试、逐页调试、逐模块调试、继续执行等指令。单步调试即控制器将在运行到下一个逻辑步骤时进行逻辑中断;逐页调试即控制器将在运行到下一个算法页开头处进行逻辑中断;逐模块调试即控制器将在下一个算法模块执行前进行逻辑中断;继续执行即按照控制器维护的断点表继续运行,若存在断点则命中下一个断点,若不存在断点则不出现中断。
其中,组态工具仅向控制器发送运行方式指令,并不详细指定下一个断点的具体位置,断点位置由控制器计算生成。
(3)控制器向组态工具上送逻辑中断信息:控制器在调试运行逻辑中断时主动向组态工具上送中断位置信息,报文中包括断点页号、断点模块编号等信息以用于组态工具定位断点命中的模块。组态工具在接收到逻辑中断信息后,界面上自动跳转到对应编号的页面,并高亮显示当前命中的模块。
其中,组态工具向控制器发送完新的运行方式指令之后即取消了当前展示的断点信息,直到接收到新的中断信息后,才会按照新的中断信息跳转到对应页面及模块来展示新的断点。
以下将结合具体实施例,说明本发明的实现过程:
步骤1,添加或删除断点,用户要使用组态工具的断点调试功能的第一步便是设置至少一个断点,以使得控制器在调试运行过程中命中该断点,为其它调试操作提供一个起点。如图2,控制器中存储着断点表信息,用户使用组态工具设置或删除断点,都将通过指令方式发送给控制器并修改断点表。
步骤2,开始调试,用户使用组态工具向控制器发送开始调试指令,使得控制器进入调试运行状态。控制器会按照程序运行并在命中某个断点后进入中断状态;如果没有设置断点或者按照逻辑所有设置的断点都没有命中,则控制器运行到程序结束或者程序设定的目标状态。
步骤3,组态工具向控制器发送下一步运行方式的指令:在调试运行状态下,组态工具能够对控制器发出单步调试、逐页调试、逐模块调试、继续执行等指令。单步调试即控制器将在运行到下一个逻辑步骤时进行逻辑中断;逐页调试即控制器将在运行到下一个算法页开头处进行逻辑中断;逐模块调试即控制器将在下一个算法模块执行前进行逻辑中断;继续执行即按照控制器维护的断点表继续运行,若存在断点则命中下一个断点,若不存在断点则不出现中断。
步骤4,结束调试,用户使用组态工具向控制器发送停止调试指令,使得控制器结束调试运行状态。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (6)
1.一种嵌入式系统的调试方法,其特征在于包括如下步骤:
步骤1,组态工具设置断点;
步骤2,组态工具控制控制器进入调试运行阶段;
步骤3,组态工具向控制器发送下一步运行方式的指令;
步骤4,结束调试,组态工具向控制器发送停止调试指令,使得控制器结束调试运行状态。
2.如权利要求1所述的一种嵌入式系统的调试方法,其特征在于:所述步骤1中,断点信息存储于控制器的断点信息表中。
3.如权利要求2所述的一种嵌入式系统的调试方法,其特征在于:所述步骤1中,无论组态工具中的断点信息是否完整,控制器按照存储的断点信息表逐个命中断点。
4.如权利要求2所述的一种嵌入式系统的调试方法,其特征在于:所述步骤1中,组态工具通过指令方式来更新控制器中的断点信息表。
5.如权利要求1所述的一种嵌入式系统的调试方法,其特征在于:所述步骤2中,在调试运行阶段,若控制器命中某个断点,则进入相应的中断状态,否则控制器运行到程序结束或程序设定的目标状态。
6.如权利要求1所述的一种嵌入式系统的调试方法,其特征在于:所述步骤3中,组态工具向控制器发送的指令包括单步调试、逐页调试、逐模块调试和继续执行,其中,单步调试即控制器将在运行到下一个逻辑步骤时进行逻辑中断;逐页调试即控制器将在运行到下一个算法页开头处进行逻辑中断;逐模块调试即控制器将在下一个算法模块执行前进行逻辑中断;继续执行即按照控制器维护的断点表继续运行,若存在断点则命中下一个断点,若不存在断点则不出现中断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710474107.3A CN109101411A (zh) | 2017-06-21 | 2017-06-21 | 一种嵌入式系统的调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710474107.3A CN109101411A (zh) | 2017-06-21 | 2017-06-21 | 一种嵌入式系统的调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109101411A true CN109101411A (zh) | 2018-12-28 |
Family
ID=64796089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710474107.3A Pending CN109101411A (zh) | 2017-06-21 | 2017-06-21 | 一种嵌入式系统的调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109101411A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158317A (zh) * | 2019-12-25 | 2020-05-15 | 深圳市显控科技股份有限公司 | 数控加工控制方法、装置、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752946A (zh) * | 2005-10-31 | 2006-03-29 | 大唐微电子技术有限公司 | 一种嵌入式系统的调试方法及其系统 |
CN101216801A (zh) * | 2007-12-27 | 2008-07-09 | 东信和平智能卡股份有限公司 | 嵌入式系统的调试方法 |
CN103729288A (zh) * | 2013-11-01 | 2014-04-16 | 华中科技大学 | 一种嵌入式多核环境下应用程序的调试方法 |
CN105676808A (zh) * | 2015-12-31 | 2016-06-15 | 北京四方继保自动化股份有限公司 | 一种工业控制系统逻辑断点调试功能的实现方法 |
-
2017
- 2017-06-21 CN CN201710474107.3A patent/CN109101411A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752946A (zh) * | 2005-10-31 | 2006-03-29 | 大唐微电子技术有限公司 | 一种嵌入式系统的调试方法及其系统 |
CN101216801A (zh) * | 2007-12-27 | 2008-07-09 | 东信和平智能卡股份有限公司 | 嵌入式系统的调试方法 |
CN103729288A (zh) * | 2013-11-01 | 2014-04-16 | 华中科技大学 | 一种嵌入式多核环境下应用程序的调试方法 |
CN105676808A (zh) * | 2015-12-31 | 2016-06-15 | 北京四方继保自动化股份有限公司 | 一种工业控制系统逻辑断点调试功能的实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158317A (zh) * | 2019-12-25 | 2020-05-15 | 深圳市显控科技股份有限公司 | 数控加工控制方法、装置、系统、设备及存储介质 |
CN111158317B (zh) * | 2019-12-25 | 2022-11-11 | 深圳市显控科技股份有限公司 | 数控加工控制方法、装置、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8060866B2 (en) | Systems and methods for debugging multiple workflow instances | |
CN109667075B (zh) | 一种绗缝机断线、断电后恢复加工的处理方法 | |
CN105676808B (zh) | 一种工业控制系统逻辑断点调试功能的实现方法 | |
CN104898546B (zh) | 一种基于soc的plc在线调试系统和方法 | |
CN104008008B (zh) | 一种Linux系统中复用调试串口的方法 | |
CN109710320B (zh) | 一种两级驱动的启动引导BootLoader方法 | |
CN102070054A (zh) | 电梯运行控制软件自动测试系统 | |
CN110989562A (zh) | 一种阀控系统的测试系统及方法 | |
CN104579802A (zh) | 一种多路服务器快速故障恢复的方法 | |
CN103529743B (zh) | 一种用于在线修改控制系统逻辑算法程序的方法 | |
US8701094B2 (en) | Event management in a non-stop debugging environment | |
CN109101411A (zh) | 一种嵌入式系统的调试方法 | |
CN101751323A (zh) | 微处理器芯片仿真器及断点设置的方法 | |
WO2018210007A1 (zh) | 一种虚拟控制器的组态调试器实现方法 | |
CN111446015A (zh) | 核电站反应堆控制棒组试验方法、装置、设备及介质 | |
CN103176808B (zh) | 一体成型桌上型电脑的开机方法 | |
CN104199439A (zh) | 工业控制系统外部故障的检测方法 | |
CN105201808A (zh) | 一种泵控制器、plc平台及海水淡化装置 | |
CN106597911A (zh) | 基于通用电力scada系统的并行控制系统 | |
CN102530570B (zh) | 一种悬臂取料机的控制系统 | |
JP5212508B2 (ja) | デバッグ装置 | |
KR101655236B1 (ko) | 디버깅 장치 및 방법 | |
CN110456656B (zh) | Emtdc仿真装置、emtdc仿真系统及其仿真方法 | |
CN113153403A (zh) | 综采工作面液压支架的自动控制方法和装置 | |
CN108418699B (zh) | 一种变电站自动化设备通信对点系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181228 |
|
WD01 | Invention patent application deemed withdrawn after publication |