CN106681918B - 一种嵌入式设备的调试方法和调试装置 - Google Patents

一种嵌入式设备的调试方法和调试装置 Download PDF

Info

Publication number
CN106681918B
CN106681918B CN201611198062.3A CN201611198062A CN106681918B CN 106681918 B CN106681918 B CN 106681918B CN 201611198062 A CN201611198062 A CN 201611198062A CN 106681918 B CN106681918 B CN 106681918B
Authority
CN
China
Prior art keywords
debugging message
debugging
embedded device
message
process unit
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
CN201611198062.3A
Other languages
English (en)
Other versions
CN106681918A (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.)
Shenzhen Sinexcel Electric Co Ltd
Original Assignee
Shenzhen Sinexcel 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 Shenzhen Sinexcel Electric Co Ltd filed Critical Shenzhen Sinexcel Electric Co Ltd
Priority to CN201611198062.3A priority Critical patent/CN106681918B/zh
Publication of CN106681918A publication Critical patent/CN106681918A/zh
Application granted granted Critical
Publication of CN106681918B publication Critical patent/CN106681918B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种嵌入式设备的调试方法和调试装置,方法包括确定用于调试信息,并将调试信息传递给调试信息网络接收单元,调试信息网络接收单元接收所述调试信息并输出至调试信息网络加工单元,调试信息网络加工单元接收输出的调试信息,对所述调试信息进行加工后输出。装置包用于用户输入调试信息的输入单元;用于接收所述调试信息并输出的调试信息网络接收单元;以及用于接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出的调试信息网络加工单元。本发明兼顾现有调试方法的优点,同时克服其缺点,结构简单、操作方便,可节省大量程序调试的时间和成本。

Description

一种嵌入式设备的调试方法和调试装置
技术领域
本发明涉及设备调试领域,尤其涉及一种嵌入式设备的调试方法和调试装置。
背景技术
目前针对没有运行Linux操作系统的资源有限型嵌入式设备,如嵌入式单片机的软件,其调试方法主要有以下几种:
1)通过硬件增加几个LED指示灯,利用LED指示灯来观察和诊断程序运行的状态、时序和逻辑;
2)通过Jlink或Stlink这类的仿真器,进行在线设置断点调试;
3)通过串口打印调试信息。
但上述调试方法存在如下缺陷:
1)若采用通过硬件增加LED指示灯来观察和诊断程序运行的状态的方式来进行调试,则只能用于非常简单的功能调试,很难应付复杂的功能和逻辑软件调试需求;
2)若采用Jlink或Stlink这类仿真器进行在线设置断点调试,则难以对随机发生的异常情况进行判断处理,同时,因为上述仿真器支持断点的数量都很有限,因此使用上述仿真器进行断点调试只能适用于对某块代码针对性非常强的指定范围代码,适用范围有限。此外,因为上述仿真器要跟进程序运行状态和地址,因此会对运行速度产生一定的影响,从而经常导致仿真时正常,而实际全速运行时就出现异常的情况发生。
4)通过串口打印调试信息来进行调试的方式中,一般常用串口最高波特率是115200,其发送的最高速度跟CPU运行速率比较还是太慢,若没有处理好串口的发送处理,则会影响系统的运行速度。其次是很多嵌入式设备本身需要很多个串口用来跟外部进行通信,若因调试需要再划分一个串口用于调试,其串口资源就更紧张,不利于资源的配置和利用。
因此,有必要提供一种新的嵌入式设备的调试方法和调试装置,使其能兼顾上述三种调试方式的优点,同时解决上述三种调试方式的缺陷,易于操作,且可节省大量的程序开发调试时间和调试成本。
发明内容
针对上述现有技术中的问题,本发明提供了一种运用于没有运行Linux操作系统的并具备TCP/IP网络通信功能的资源有限型嵌入式设备的调试方法和调试装置,使其能兼顾现有调试方式的优点,同时解决现有调试方式的缺陷,易于操作,且可节省大量的程序开发调试时间和调试成本。
本发明就上述技术问题而提出的技术方案如下:
一方面,提供一种嵌入式设备的调试方法,包括如下步骤:
S1、用户确定用于调试所述嵌入式设备的调试信息,并将所述调试信息通过输入单元输入至待调试的嵌入式设备中;
S2、所述待调试的嵌入式设备中的调试信息网络接收单元接收所述调试信息并输出;
S3、所述待调试的嵌入式设备中的调试信息网络加工单元接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出。
优选的,步骤S3中,对所述调试信息进行加工包括:对所述调试信息附加额外信息。
优选的,所述调试信息网络加工单元对所述调试信息附加额外信息后,将附加有额外信息的调试信息输出至与所述调试信息网络加工单元连接的调试结果显示终端,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息。
优选的,所述额外信息包括调试时间;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。
优选的,所述调试信息网络加工单元采用独立的线程实现。
另一方面,还提供一种嵌入式设备的调试装置,包括:
输入单元,其设置于待调试的嵌入式设备内,用于用户输入确定的用于调试所述嵌入式设备的调试信息;
调试信息网络接收单元,其设置于待调试的嵌入式设备内,且与所述输入单元连接,用于接收所述调试信息并输出;
调试信息网络加工单元,其设置于待调试的嵌入式设备内,且与所述调试信息网络接收单元连接,用于接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出。
优选的,调试信息网络加工单元对所述调试信息进行加工包括:对所述调试信息附加额外信息。
优选的,还包括调试结果显示终端,其设置于所述待调试的嵌入式设备外,且与所述调试信息网络加工单元连接,用于接收所述调试信息网络加工单元输出的附加有额外信息的调试信息,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息。
优选的,所述额外信息包括调试时间;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。
优选的,所述调试信息网络加工单元采用独立的线程实现。
本发明技术方案带来的技术效果:
1)本发明的调试方法和装置解决了现有的三种调试方式:硬件LED指示灯、Jlink或Stlink这类的仿真器设置断点以及串口打印调试信息的各自调试缺陷,同时具有硬件LED指示灯调试的简单实用的优点,具备Jlink或Stlink这类仿真器的设置断点的逻辑和运行路径监控调试功能,并且还能和PC端联用实现串口打印调试信息的软件调试方式,完美融合了上述三种现有调试方式的优点。
2)本发明中的调试方法和调试装置只需要通过一根网线将嵌入式设备与调试终端连接即可实现调试功能,无需其他工具设备,因此,相比于串口打印调试信息或Jlink/Stlink仿真器,其具有调试成本低的优势,且本发明使用以太网通信技术,因此还可实现异地远程调试,以及对调试设备的远程监测。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的嵌入式设备的调试方法流程图;
图2是本发明实施例二提供的嵌入式设备的调试装置的结构示意图。
具体实施方式
本发明针对上述现有调试方法中存在的问题,提供了一种运用于没有运行Linux操作系统的并具备TCP/IP网络通信功能的资源有限型嵌入式设备的调试方法和调试装置,使其能兼顾现有调试方式的优点,同时解决现有调试方式的缺陷,易于操作,且可节省大量的程序开发调试时间和调试成本。其核心思想是:用户输入的调试信息先送给调试信息网络接收单元,然后经过调试信息网络加工单元对调试的信息进行加工,附加上时间等额外信息,然后通过网络接口向调试结果显示终端发送调试信息,调试结果显示终端接收到加工后的调试信息后,并对此进行显示,从而达到网络打印输出调试的功能。
实施例一:
如图1所示,本发明中的嵌入式设备的调试方法可运用于没有运行Linux操作系统的、并具备TCP/IP网络通信功能的嵌入式设备(如嵌入式单片机),
包括如下步骤:
S1、用户确定用于调试所述嵌入式设备的调试信息,并将所述调试信息通过输入单元输入至待调试的嵌入式设备中;优选的,所述输入单元包括有API接口,用户通过调用所述API接口将所述调试信息输入到所述待调试的嵌入式设备中;
S2、所述待调试的嵌入式设备中的调试信息网络接收单元接收所述调试信息并输出;所述调试信息网络接收单元的接收功能可通过编程来实现;
S3、所述待调试的嵌入式设备中的调试信息网络加工单元接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出;所述调调试信息网络加工单元的接收和加工功能可通过编程来实现。
优选的,步骤S3中,对所述调试信息进行加工包括:对所述调试信息附加额外信息;且所述调试信息网络加工单元对所述调试信息附加额外信息后,将附加有额外信息的调试信息输出至与所述调试信息网络加工单元连接的调试结果显示终端,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息。
优选的,所述额外信息包括调试时间以及其他任何与调试信息有关的附加信息;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。本实施例中,所述调试结果显示终端可为具有显示装置(如显示屏幕等)的台式电脑、平板电脑以及手机等远程或本地终端。
其次,所述调试信息网络加工单元采用独立的线程实现,其可成功解决串口打印调试的串口输出慢,影响程序正常运行的缺陷。
具体的,以下举例说明本发明调试方法的具体流程和步骤:
1.用户生成并确定调试信息,如打印“您好!”这个调试信息;
2.将“您好”这个调试信息传递给待调试嵌入式设备中的调试网络接收单元,如使用Log(“您好!”)的方式进行传递;
3.待调试嵌入式设备中的调试信息网络加工单元接收上述调试信息,并对其进行加工,附加上其他额外信息,如调试时间等,则加工后的调试信息体内容大概如:“2016-11-30 13:08:05您好!”,并对上述加工后的调试信息发送给调试电脑终端;
4.调试电脑终端把接收到的加工后的调试信息进行显示,在显示屏幕上显示“2016-11-30 13:08:05您好!”。
实施例二:
如图2所示,本发明中的嵌入式设备的调试装置同样可运用于没有运行Linux操作系统的、并具备TCP/IP网络通信功能的嵌入式设备(如嵌入式单片机),包括:
输入单元,其设置于待调试的嵌入式设备内,用于用户输入确定的用于调试所述嵌入式设备的调试信息;本实施例中,所述输入单元可为按键、触屏等输入单元;
调试信息网络接收单元,其设置于待调试的嵌入式设备内,且与所述输入单元连接,用于接收所述调试信息并输出;
调试信息网络加工单元,其设置于待调试的嵌入式设备内,且与所述调试信息网络接收单元连接,用于接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出。
优选的,调试信息网络加工单元对所述调试信息进行加工包括:对所述调试信息附加额外信息。
优选的,还包括调试结果显示终端,其设置于所述待调试的嵌入式设备外,且与所述调试信息网络加工单元连接,用于接收所述调试信息网络加工单元输出的附加有额外信息的调试信息,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息。
优选的,所述额外信息包括调试时间以及其他任何与调试信息有关的附加信息;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。本实施例中,所述调试结果显示终端可为具有显示装置(如显示屏幕等)的台式电脑、平板电脑以及手机等远程或本地终端。
优选的,所述调试信息网络加工单元采用独立的线程实现。其可成功解决串口打印调试的串口输出慢,影响程序正常运行的缺陷。
具体的,以下举例说明本发明调试方法的具体流程和步骤:
1.用户生成并确定调试信息,如打印“您好!”这个调试信息;
2.通过设置在所述待调试嵌入式设备中的按键单元将“您好”这个调试信息传递给待调试嵌入式设备中的调试网络接收单元,如在按键单元中输入Log(“您好!”),将其传递给调试网络接收单元;
3.待调试嵌入式设备中的调试信息网络加工单元接收上述调试信息,并对其进行加工,附加上其他额外信息,如调试时间等,则加工后的调试信息体内容大概如:“2016-11-30 13:08:05您好!”,并对上述加工后的调试信息发送给调试结果终端;
4.调试电脑终端把接收到的加工后的调试信息进行显示,在显示屏幕上显示“2016-11-30 13:08:05您好!”。
综上所述,本发明解决了现有的三种调试方式:硬件LED指示灯、Jlink或Stlink这类的仿真器设置断点以及串口打印调试信息的各自调试缺陷,同时具有硬件LED指示灯调试的简单实用的优点,具备Jlink或Stlink这类仿真器的设置断点的逻辑和运行路径监控调试功能,并且还能和PC端联用实现串口打印调试信息的软件调试方式,完美融合了上述三种现有调试方式的优点。且本发明中的调试方法和调试装置只需要通过一根网线将嵌入式设备与调试终端连接即可实现调试功能,无需其他工具设备,因此,相比于串口打印调试信息或Jlink/Stlink仿真器,其具有调试成本低的优势,且本发明使用以太网通信技术,因此还可实现异地远程调试,以及对调试设备的远程监测。因此,本发明的调试方法和装置结构简单、操作方便,可节省大量程序调试的时间和成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种嵌入式设备的调试方法,其特征在于,包括如下步骤:
S1、用户确定用于调试所述嵌入式设备的调试信息,并将所述调试信息通过输入单元输入至待调试的嵌入式设备中,嵌入式设备为没有运行Linux操作系统的并具备TCP/IP网络通信功能的嵌入式设备,所述输入单元包括有API接口,用户通过调用所述API接口将所述调试信息输入到所述待调试的嵌入式设备中;
S2、所述待调试的嵌入式设备中的调试信息网络接收单元接收所述调试信息并输出;所述调试信息网络接收单元的接收功能可通过编程来实现;
S3、所述待调试的嵌入式设备中的调试信息网络加工单元接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出;所述调试信息网络加工单元的接收和加工功能可通过编程来实现;
步骤S3中,对所述调试信息进行加工包括:对所述调试信息附加额外信息;
步骤S3中,所述调试信息网络加工单元对所述调试信息附加额外信息后,将附加有额外信息的调试信息输出至与所述调试信息网络加工单元连接的调试结果显示终端,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息;
所述额外信息包括调试时间;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。
2.如权利要求1所述的方法,其特征在于,所述调试信息网络加工单元采用独立的线程实现。
3.一种嵌入式设备的调试装置,其特征在于,包括:
输入单元,其设置于待调试的嵌入式设备内,用于用户输入确定的用于调试所述嵌入式设备的调试信息;嵌入式设备为没有运行Linux操作系统的并具备TCP/IP网络通信功能的嵌入式设备,所述输入单元包括有API接口,用户通过调用所述API接口将所述调试信息输入到所述待调试的嵌入式设备中;
调试信息网络接收单元,其设置于待调试的嵌入式设备内,且与所述输入单元连接,用于接收所述调试信息并输出;所述调试信息网络接收单元的接收功能可通过编程来实现;
调试信息网络加工单元,其设置于待调试的嵌入式设备内,且与所述调试信息网络接收单元连接,用于接收所述调试信息网络接收单元输出的调试信息,对所述调试信息进行加工后输出;所述调试信息网络加工单元的接收和加工功能可通过编程来实现;
调试信息网络加工单元对所述调试信息进行加工包括:对所述调试信息附加额外信息;
所述嵌入式设备的调试装置还包括调试结果显示终端,其设置于所述待调试的嵌入式设备外,且与所述调试信息网络加工单元连接,用于接收所述调试信息网络加工单元输出的附加有额外信息的调试信息,并在所述调试结果显示终端上显示所述附加有额外信息的调试信息;
所述额外信息包括调试时间;所述调试信息网络加工单元通过网络接口连接所述调试结果显示终端。
4.如权利要求3所述的装置,其特征在于,所述调试信息网络加工单元采用独立的线程实现。
CN201611198062.3A 2016-12-22 2016-12-22 一种嵌入式设备的调试方法和调试装置 Active CN106681918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611198062.3A CN106681918B (zh) 2016-12-22 2016-12-22 一种嵌入式设备的调试方法和调试装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611198062.3A CN106681918B (zh) 2016-12-22 2016-12-22 一种嵌入式设备的调试方法和调试装置

Publications (2)

Publication Number Publication Date
CN106681918A CN106681918A (zh) 2017-05-17
CN106681918B true CN106681918B (zh) 2019-09-10

Family

ID=58870220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611198062.3A Active CN106681918B (zh) 2016-12-22 2016-12-22 一种嵌入式设备的调试方法和调试装置

Country Status (1)

Country Link
CN (1) CN106681918B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920373B (zh) * 2017-12-29 2021-06-22 大唐终端技术有限公司 嵌入式软件调试系统及其方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471268A (zh) * 2002-07-26 2004-01-28 上海贝尔有限公司 基于因特网的通用硬件联合调测平台
CN103853147A (zh) * 2012-12-06 2014-06-11 中国科学院软件研究所 一种嵌入式系统的在线调试系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133977A1 (en) * 2006-05-12 2008-06-05 Electronics And Telecommunications Research Institute Non-stop debugging apparatus for correcting errors in embedded systems and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471268A (zh) * 2002-07-26 2004-01-28 上海贝尔有限公司 基于因特网的通用硬件联合调测平台
CN103853147A (zh) * 2012-12-06 2014-06-11 中国科学院软件研究所 一种嵌入式系统的在线调试系统及方法

Also Published As

Publication number Publication date
CN106681918A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN105787364B (zh) 任务的自动化测试方法、装置及系统
CN102967815B (zh) 芯片测试方法、自动化测试机和系统
CN105263155B (zh) 远程实时监测智能移动终端基带处理器运行状态的方法及系统
CN103812726A (zh) 一种数据通信设备的自动化测试方法及装置
US8752023B2 (en) System, method and program product for executing a debugger
CN103761185B (zh) 一种自动化测试系统及方法
CN104216828A (zh) 一种对被测应用程序进行功能遍历的测试方法
MX2008003299A (es) Depuracion de sistemas integrados.
CN102904772A (zh) 一种网络设备实现吞吐量测试的方法及装置
CN102075389A (zh) 一种调试方法和设备
CN106568168A (zh) 一种调试方法、调试器及系统
CN108984363A (zh) 一种并行测试的方法及系统
CN104734904B (zh) 旁路设备的自动测试方法及系统
CN110798386B (zh) 一种可配置的can总线协议收发测试方法及系统
CN106681918B (zh) 一种嵌入式设备的调试方法和调试装置
CN109491890A (zh) 应用程序的接口扫描方法及终端设备
CN109683964A (zh) Bios软件调试控制方法、系统及服务器
US20240273053A1 (en) Serial port control system based on complex programmable logic device (cpld) and communication method therefor
CN115794313A (zh) 一种虚拟机调试方法、系统、电子设备及存储介质
CN105468486A (zh) 一种测试服务器串口的方法及装置
CN106681714A (zh) 程序环境设置方法、装置及电子设备
CN109407655A (zh) 一种调试芯片的方法及装置
CN106708488A (zh) 一种多应用程序的调试系统和方法
KR20060032629A (ko) 무선 장치 테스트 시스템, 무선 장치 테스트 방법,프로그램 코드 및 프로그램 코드 캐리어
US20070294441A1 (en) Usb keystroke monitoring apparatus and method

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
GR01 Patent grant
GR01 Patent grant