CN102508621A - 一种在嵌入式系统上脱离串口的调试打印方法和装置 - Google Patents

一种在嵌入式系统上脱离串口的调试打印方法和装置 Download PDF

Info

Publication number
CN102508621A
CN102508621A CN2011103205334A CN201110320533A CN102508621A CN 102508621 A CN102508621 A CN 102508621A CN 2011103205334 A CN2011103205334 A CN 2011103205334A CN 201110320533 A CN201110320533 A CN 201110320533A CN 102508621 A CN102508621 A CN 102508621A
Authority
CN
China
Prior art keywords
debug print
embedded system
data
debugging
debug
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.)
Granted
Application number
CN2011103205334A
Other languages
English (en)
Other versions
CN102508621B (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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology 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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201110320533.4A priority Critical patent/CN102508621B/zh
Publication of CN102508621A publication Critical patent/CN102508621A/zh
Application granted granted Critical
Publication of CN102508621B publication Critical patent/CN102508621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种在嵌入式系统上脱离串口的调试打印方法和装置,方法包括:接收待输出的调试打印数据并进行暂存;读取暂存的调试打印数据并进行数据显示和/或保存。装置包括:缓存单元,用于读取暂存的调试打印数据并进行数据显示和/或保存;数据处理单元,用于读取暂存的调试打印数据并进行数据显示和/或保存的数据处理单元。本发明嵌入式系统上脱离串口的调试打印方法和装置,延伸了打印调试方法的调试场合,从而可动态地展开嵌入式产品的调试,实现了让打印调试方式脱离了对调试主计算机的依赖,加快了嵌入式产品的开发进度和提高了产品质量。本发明作为一种在嵌入式系统上脱离串口的调试打印方法和装置应用于嵌入式系统打印调试中。

Description

一种在嵌入式系统上脱离串口的调试打印方法和装置
技术领域
本发明涉及一种嵌入式系统的调试方法和装置,尤其是一种在嵌入式系统上脱离串口的调试打印方法和装置。
背景技术
随着科技的高速发展,嵌入式系统内的软件,已经发展到了动则数十万、百万级的代码规模。而一个高效的嵌入式调试环境,则能大大缩短嵌入式产品的研发周期和提高产品质量。因此,无论是在嵌入式产品的前期开发,还是在后续维护中,嵌入式系统的调试手段就显得越来越重要。
在嵌入式系统的开发和调试过程中,采用串口打印是一种非常重要的调试手段,它能让开发者实时地、方便地了解一些关键路径上的状态信息,从而实现对嵌入式系统运行状态的掌控。
然而串口打印作为一种常见的调试手段,却存在很多的不足:(1)采用串口打印,必须架设待调试的嵌入式目标系统和接收并显示打印的调试主机两个主体,从而大大限制了进行调试的时间范围和空间范围。如嵌入式产品的不少BUG是跟使用环境(气候、电磁场、电网干扰等)和用户个人使用方式有很大关系,而串口打印手段无法很方便地深入到嵌入式系统产品的使用现场对其进行调试;(2)出于消费者对产品细节的极致追求的考虑,嵌入式系统产品也已经不方便在机器上预留串口,造成串口打印在实现上的不方便。
针对串口打印调试手段存在有上述问题,也出现了一些改良型的打印调试方法。如将嵌入式系统的调试打印数据输出存储到磁盘的日志文件中,然后采用文件查看器调出数据进行阅读分析。采用该方法虽然省略了串口,但也存在有不足之处:(1)日志文件是静态的,它只是打印过程的最后结果,没有中间过程信息,不能完全重现问题的现场信息和交换状况;(2)该方法是在操作系统内部实现的,它只能截获打印请求点到串口硬件过程这一中间环节的打印输出数据,而无法接收到部分在稍后环节的打印输出数据。
因此,如何对嵌入式系统的打印调试手段进行改良,使其脱离对调试计算机的依赖,方便嵌入式产品在前期开发和后续维护中的打印调试,就成为一个切实需要解决的问题。
发明内容
本发明的目的是提供一种在嵌入式系统上脱离串口的调试打印方法;
本发明的另一个目的是提供一种在嵌入式系统上脱离串口的调试打印装置
本发明所采用的技术方案是:
一种在嵌入式系统上脱离串口的调试打印方法,包括以下步骤:
S1、接收待输出的调试打印数据并进行暂存;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
作为上述方法步骤的进一步改进,所述步骤S1中接收待输出的调试打印数据具体为:
直接接收待输出的调试打印数据;
或者,
接收转发的待输出调试打印数据。
作为上述方法步骤的进一步改进,所述步骤S1还包括:
接收待输出的调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识。
作为上述方法步骤的进一步改进,所述步骤S2包括:
S21:读取暂存的调试打印数据;
S22:选择将调试打印数据进行显示和/或保存于日志文件中。
一种在嵌入式系统上脱离串口的调试打印装置,包括:
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。
作为上述装置的进一步改进,该装置还包括:
用于接收待输出的调试打印数据并进行转发的串口驱动单元。
作为上述装置的进一步改进,所述缓存单元还包括:
用于标识缓存单元中的数据是否有处理的标识模块。
作为上述装置的进一步改进,所述装置还包括:
选择将调试打印数据进行显示和/或保存于日志文件中的选择器单元。
本发明的有益效果是:
本发明一种在嵌入式系统上脱离串口的打印调试方法,延伸了打印调试方法的调试场合,从而可动态地展开嵌入式产品的调试,达到更准确的复现问题现场的效果,加快了嵌入式产品的开发进度和提高了产品质量。
本发明的另一个有益效果是:
本发明一种在嵌入式系统上脱离串口的调试打印装置,在对嵌入式系统内的应用软件无任何影响的情况下,实现了让打印调试方式脱离了对调试主计算机的依赖,克服了打印调试的环境限制。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是现有的嵌入式系统串口打印调试实现示意图;
图2是本发明嵌入式系统上脱离串口的调试打印方法的步骤流程图;
图3是本发明嵌入式系统上脱离串口的调试打印方法实施例一的步骤流程图;
图4是本发明嵌入式系统上脱离串口的调试打印方法实施例二的步骤流程图;
图5是本发明嵌入式系统上脱离串口的调试打印方法实施例三的步骤流程图;
图6是本发明嵌入式系统上脱离串口的调试打印方法实施例四的步骤流程图;
图7是本发明在嵌入式系统上脱离串口的调试打印装置实施例一的模块方框图;
图8是本发明在嵌入式系统上脱离串口的调试打印装置实施例二的模块方框图;
图9是本发明在嵌入式系统上脱离串口的调试打印装置实施例三的模块方框图;
图10是本发明在嵌入式系统上脱离串口的调试打印装置实施例四的模块方框图;
图11本发明在嵌入式系统上脱离串口的调试打印装置实施例五的模块方框图;
图12是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图A;
图13是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图B。
具体实施方式
图1是现有的嵌入式系统串口打印调试实现示意图。
嵌入式系统的调试打印信息根据系统本身用户层和内核层的区别,可以相应分为用户层调试打印数据和内核层调试打印数据。虽然两者实现打印的调用过程不一样,但最后都交付给串口驱动模块,通过串口通信的方式传送给调试调试主计算机进行显示。
图2是本发明嵌入式系统上脱离串口的调试打印方法的步骤流程图,结合图2,本发明作为一种嵌入式系统上脱离串口的调试打印方法,包括以下步骤:
S1、接收待输出的调试打印数据并进行暂存;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
应用该方法,可动态地截获嵌入式系统的调试打印信息,并将该调试打印信息打印输出到嵌入式系统自身的显示输出设备上和/或存储于本地日志文件及网络空间中,方便用户随时随地对嵌入式系统进行打印调试,而无需架构专门的调试环境,脱离了对调试主计算机的依赖。
图3是本发明嵌入式系统上脱离串口的调试打印方法实施例一的步骤流程图,包括以下步骤:
S1、直接接收待输出的调试打印数据并进行数据保存;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
图4是本发明嵌入式系统上脱离串口的调试打印方法实施例二的步骤流程图,包括以下步骤:
S1、接收转发的待输出调试打印数据并进行数据的暂存;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
图5是本发明嵌入式系统上脱离串口的调试打印方法实施例三的步骤流程图,包括以下步骤:
S1、直接接收待输出调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
图6是本发明嵌入式系统上脱离串口的调试打印方法实施例四的步骤流程图,包括以下步骤:
S1、接收转发的待输出调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
图5和图6作为本发明嵌入式系统上脱离串口的调试打印方法最佳的两个实施例,缓存单元在对调试打印数据进行暂存的过程中,对暂存数据设置标志位进行标识,标识调试打印数据是否有处理,方便后续的对调试打印数据的读取,进行数据显示和/或保存。
图7是本发明在嵌入式系统上脱离串口的调试打印装置实施例一的模块方框图,装置包括:
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。
在该实施例中,缓存单元直接接收待输出的调试打印信息,经由数据处理单元读取后,显示在嵌入式系统上的显示输出设备上和/或存储于本地日志文件及网络空间中。
图8是本发明在嵌入式系统上脱离串口的调试打印装置实施例二的模块方框图,装置包括:
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元;
用于接收待输出的调试打印数据并进行转发的串口驱动单元。
在该实施例中,由串口驱动单元接收待输出的调试打印数据,但有别于现有嵌入式系统中的串口驱动单元,本实施例中的串口驱动单元在将调试打印数据输出给调试主计算机的同时,还将该数据转发给缓存单元。缓存单元在接收到串口驱动单元转发的待输出调试数据后进行暂存,后经由数据处理单元读取,显示在嵌入式系统上的显示输出设备上和/或存储于本地日志文件及网络空间中。
图9和图10分别是本发明在嵌入式系统上脱离串口的调试打印装置实施例三、实施例四的模块方框图。在此两实施例中,缓存单元均包括用于标识缓存单元中的数据是否有处理的标识模块。当缓存单元有调试打印数据存入时,标识模块对标志位进行置位。而对缓存单元实时监控的数据单元检测到标志位被置位时,将开始对缓存中的调试打印数据进行读取,并予以显示和/或日志保存。
图11和图12分别是本发明在嵌入式系统上脱离串口的调试打印装置实施例五的模块方框图和实施例六的模块方框图A,也是本发明最佳的两个实施例。在此两实施例中,该装置设置了选择器单元对数据处理模块进行调试打印数据显示和/或日志保存的控制。当用户不需要对嵌入式系统进行调试时,选择器单元则设置为关闭状态,数据处理单元从缓存中读取的调试打印数据将不会输出到嵌入式系统的显示输出设备上进行显示,也不会保存在日志文件中,而是被简单丢弃;当用户需要对嵌入式系统进行调试和分析时,选择器则可以设置为将数据处理单元中的调试打印数据输入到嵌入式系统中的显示输出设备,或保存于日志文件中及网络空间,或在显示的同时进行保存。
图13是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图B。下面结合图13对本发明在嵌入式系统上脱离串口的调试打印装置的实现进行详细说明。
在现有的嵌入式系统串口打印调试中,来自于嵌入式系统用户层和内核层的调试打印数据通过串口驱动单元输入到PC串口终端显示上,即调试主计算机的显示输出设备上。
而本装置通过缓存单元对调试打印数据进行动态接收并进行暂存。
对调试打印数据的动态接收可以通过直接接收的方式。即,缓存单元不经过串口驱动单元,直接对来自于用户层和内核层的调试打印数据进行接收;也可对现有的串口驱动单元进行改进,使其在将接收到的调试打印数据向调试主计算机输出的同时,也把同样的数据转发到缓存单元。
调试打印数据暂存到缓存单元后,数据处理单元开始进行读取。为了方便数据的读取,在缓存单元内可以设置标识模块,对暂存的数据进行标示。当缓存单元中有调试打印数据进入时,标识模块对标志位进行置位。而对缓存单元实时监控的数据处理单元检测到标志位被置位时,将开始对缓存中的调试打印数据进行读取。读取完毕后,数据处理单元清除标志位的置位,等待下一段打印调试数据的到来。
数据处理单元将读取出的调试打印数据显示在嵌入式系统自身的显示输出设备上,或保存在本地日志文件及网络空间中,或在输出显示的同时进行保存处理。为了用户选择操作的需要,设置一选择器单元。根据用户需要,通过选择器单元,对数据处理单元中的调试打印数据进行显示和/或保存处理。也可通过设置选择器单元,关闭数据处理单元对调试打印数据的显示和保存处理。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种在嵌入式系统上脱离串口的调试打印方法,其特征在于:包括以下步骤:
S1、接收待输出的调试打印数据并进行暂存;
S2、读取暂存的调试打印数据并进行数据显示和/或日志保存。
2.根据权利要求1所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于:所述步骤S1中接收待输出的调试打印数据具体为:
直接接收待输出的调试打印数据;
或者,
接收转发的待输出调试打印数据。
3.根据权利要求1或2所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于:
所述步骤S1包括:接收待输出的调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识。
4.根据权利要求1或2所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于:所述步骤S2包括:
S21:读取暂存的调试打印数据;
S22:选择将调试打印数据进行显示和/或保存于日志文件中。
5.一种在嵌入式系统上脱离串口的调试打印装置,其特征在于:包括:
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。
6.根据权利要求5所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于:该装置还包括:
用于接收待输出的调试打印数据并进行转发的串口驱动单元。
7.根据权利要求5或6所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于:
所述缓存单元还包括用于标识缓存单元中的数据是否有处理的标识模块。
8.根据权利要求7所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于:该装置还包括:
用于选择将调试打印数据进行显示和/或保存于日志文件中的选择器单元。
CN201110320533.4A 2011-10-20 2011-10-20 一种在嵌入式系统上脱离串口的调试打印方法和装置 Active CN102508621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110320533.4A CN102508621B (zh) 2011-10-20 2011-10-20 一种在嵌入式系统上脱离串口的调试打印方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110320533.4A CN102508621B (zh) 2011-10-20 2011-10-20 一种在嵌入式系统上脱离串口的调试打印方法和装置

Publications (2)

Publication Number Publication Date
CN102508621A true CN102508621A (zh) 2012-06-20
CN102508621B CN102508621B (zh) 2015-07-08

Family

ID=46220716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110320533.4A Active CN102508621B (zh) 2011-10-20 2011-10-20 一种在嵌入式系统上脱离串口的调试打印方法和装置

Country Status (1)

Country Link
CN (1) CN102508621B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951395A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 一种嵌入式系统调试信息处理方法及装置
CN106682162A (zh) * 2016-12-26 2017-05-17 浙江宇视科技有限公司 日志管理方法及装置
CN111538670A (zh) * 2020-04-29 2020-08-14 烽火通信科技股份有限公司 一种U-Boot调试方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089829A (zh) * 2007-08-01 2007-12-19 杭州华三通信技术有限公司 一种共享缓存系统及实现方法
CN101196800A (zh) * 2006-12-06 2008-06-11 佳能株式会社 信息处理设备和信息处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196800A (zh) * 2006-12-06 2008-06-11 佳能株式会社 信息处理设备和信息处理方法
CN101089829A (zh) * 2007-08-01 2007-12-19 杭州华三通信技术有限公司 一种共享缓存系统及实现方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951395A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 一种嵌入式系统调试信息处理方法及装置
CN106682162A (zh) * 2016-12-26 2017-05-17 浙江宇视科技有限公司 日志管理方法及装置
CN111538670A (zh) * 2020-04-29 2020-08-14 烽火通信科技股份有限公司 一种U-Boot调试方法及系统

Also Published As

Publication number Publication date
CN102508621B (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
CN103268645B (zh) 一种基于nfc移动终端的巡检系统及巡检方法
KR101873794B1 (ko) 웨이크록 사용을 추적하는 기술들
CN100538684C (zh) Dma控制器、节点、数据传送控制方法
CN104298579B (zh) 一种逻辑芯片以及包含该逻辑芯片的板卡装置
CN101344931A (zh) Rfid一体化机
CN103108413A (zh) 物联网终端设备及其业务处理方法
CN105074671A (zh) 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统
KR101874416B1 (ko) 주변 디바이스들의 유니버셜 시리얼 버스 에뮬레이션
CN107122252B (zh) 一种系统间交互方法和装置
CN104506379A (zh) 网络数据捕获方法和系统
CN101719115B (zh) 主控处理器和协处理器系统的通信方法、装置、系统
CN105549916A (zh) PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
US8799546B2 (en) Method and apparatus for monitoring single board running state
CN102508621A (zh) 一种在嵌入式系统上脱离串口的调试打印方法和装置
CN107592250A (zh) 基于航空fc总线多速率自适应测试设备
CN101739575A (zh) 无线射频识别系统中多硬件设备集中管理的数据处理方法
US9373206B2 (en) Device, system and method for non-contact security information interaction
CN102497648A (zh) 实现远程调试的装置及方法
CN103593239B (zh) Linux系统中应用进程命令处理的方法及装置
CN108389131A (zh) 一种金融系统微服务交易监控实现方法
CN106326059B (zh) 一种嵌入式设备自动化测试系统
CN101206613A (zh) 高速基本输入/输出系统调试卡
CN107465569A (zh) 一种SAS Switch整机柜抓取节点phy error count的方法及系统
CN103489016B (zh) Rfid防冲突读写装置及其控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant