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

文档序号:6435980阅读:176来源:国知局
专利名称:一种在嵌入式系统上脱离串口的调试打印方法和装置的制作方法
技术领域
本发明涉及一种嵌入式系统的调试方法和装置,尤其是一种在嵌入式系统上脱离串口的调试打印方法和装置。
背景技术
随着科技的高速发展,嵌入式系统内的软件,已经发展到了动则数十万、百万级的代码规模。而一个高效的嵌入式调试环境,则能大大缩短嵌入式产品的研发周期和提高产品质量。因此,无论是在嵌入式产品的前期开发,还是在后续维护中,嵌入式系统的调试手段就显得越来越重要。在嵌入式系统的开发和调试过程中,采用串口打印是一种非常重要的调试手段, 它能让开发者实时地、方便地了解一些关键路径上的状态信息,从而实现对嵌入式系统运行状态的掌控。然而串口打印作为一种常见的调试手段,却存在很多的不足(1)采用串口打印, 必须架设待调试的嵌入式目标系统和接收并显示打印的调试主机两个主体,从而大大限制了进行调试的时间范围和空间范围。如嵌入式产品的不少BUG是跟使用环境(气候、电磁场、电网干扰等)和用户个人使用方式有很大关系,而串口打印手段无法很方便地深入到嵌入式系统产品的使用现场对其进行调试;(2)出于消费者对产品细节的极致追求的考虑, 嵌入式系统产品也已经不方便在机器上预留串口,造成串口打印在实现上的不方便。针对串口打印调试手段存在有上述问题,也出现了一些改良型的打印调试方法。 如将嵌入式系统的调试打印数据输出存储到磁盘的日志文件中,然后采用文件查看器调出数据进行阅读分析。采用该方法虽然省略了串口,但也存在有不足之处(1)日志文件是静态的,它只是打印过程的最后结果,没有中间过程信息,不能完全重现问题的现场信息和交换状况;(2)该方法是在操作系统内部实现的,它只能截获打印请求点到串口硬件过程这一中间环节的打印输出数据,而无法接收到部分在稍后环节的打印输出数据。因此,如何对嵌入式系统的打印调试手段进行改良,使其脱离对调试计算机的依赖,方便嵌入式产品在前期开发和后续维护中的打印调试,就成为一个切实需要解决的问题。

发明内容
本发明的目的是提供一种在嵌入式系统上脱离串口的调试打印方法; 本发明的另一个目的是提供一种在嵌入式系统上脱离串口的调试打印装置本发明所采用的技术方案是
一种在嵌入式系统上脱离串口的调试打印方法,包括以下步骤
51、接收待输出的调试打印数据并进行暂存;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。作为上述方法步骤的进一步改进,所述步骤Sl中接收待输出的调试打印数据具体为
直接接收待输出的调试打印数据; 或者,
接收转发的待输出调试打印数据。作为上述方法步骤的进一步改进,所述步骤Sl还包括
接收待输出的调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识。作为上述方法步骤的进一步改进,所述步骤S2包括
521读取暂存的调试打印数据;
522选择将调试打印数据进行显示和/或保存于日志文件中。一种在嵌入式系统上脱离串口的调试打印装置,包括 用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。作为上述装置的进一步改进,该装置还包括
用于接收待输出的调试打印数据并进行转发的串口驱动单元。作为上述装置的进一步改进,所述缓存单元还包括 用于标识缓存单元中的数据是否有处理的标识模块。作为上述装置的进一步改进,所述装置还包括
选择将调试打印数据进行显示和/或保存于日志文件中的选择器单元。本发明的有益效果是
本发明一种在嵌入式系统上脱离串口的打印调试方法,延伸了打印调试方法的调试场合,从而可动态地展开嵌入式产品的调试,达到更准确的复现问题现场的效果,加快了嵌入式产品的开发进度和提高了产品质量。本发明的另一个有益效果是
本发明一种在嵌入式系统上脱离串口的调试打印装置,在对嵌入式系统内的应用软件无任何影响的情况下,实现了让打印调试方式脱离了对调试主计算机的依赖,克服了打印调试的环境限制。


下面结合附图对本发明的具体实施方式
作进一步说明 图1是现有的嵌入式系统串口打印调试实现示意图2是本发明嵌入式系统上脱离串口的调试打印方法的步骤流程图; 图3是本发明嵌入式系统上脱离串口的调试打印方法实施例一的步骤流程图; 图4是本发明嵌入式系统上脱离串口的调试打印方法实施例二的步骤流程图; 图5是本发明嵌入式系统上脱离串口的调试打印方法实施例三的步骤流程图; 图6是本发明嵌入式系统上脱离串口的调试打印方法实施例四的步骤流程图; 图7是本发明在嵌入式系统上脱离串口的调试打印装置实施例一的模块方框图; 图8是本发明在嵌入式系统上脱离串口的调试打印装置实施例二的模块方框图; 图9是本发明在嵌入式系统上脱离串口的调试打印装置实施例三的模块方框图;图10是本发明在嵌入式系统上脱离串口的调试打印装置实施例四的模块方框图; 图11本发明在嵌入式系统上脱离串口的调试打印装置实施例五的模块方框图; 图12是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图A ; 图13是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图B。
具体实施例方式图1是现有的嵌入式系统串口打印调试实现示意图。嵌入式系统的调试打印信息根据系统本身用户层和内核层的区别,可以相应分为用户层调试打印数据和内核层调试打印数据。虽然两者实现打印的调用过程不一样,但最后都交付给串口驱动模块,通过串口通信的方式传送给调试调试主计算机进行显示。图2是本发明嵌入式系统上脱离串口的调试打印方法的步骤流程图,结合图2,本发明作为一种嵌入式系统上脱离串口的调试打印方法,包括以下步骤
51、接收待输出的调试打印数据并进行暂存;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。应用该方法,可动态地截获嵌入式系统的调试打印信息,并将该调试打印信息打印输出到嵌入式系统自身的显示输出设备上和/或存储于本地日志文件及网络空间中,方便用户随时随地对嵌入式系统进行打印调试,而无需架构专门的调试环境,脱离了对调试主计算机的依赖。图3是本发明嵌入式系统上脱离串口的调试打印方法实施例一的步骤流程图,包括以下步骤
51、直接接收待输出的调试打印数据并进行数据保存;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。图4是本发明嵌入式系统上脱离串口的调试打印方法实施例二的步骤流程图,包括以下步骤
51、接收转发的待输出调试打印数据并进行数据的暂存;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。图5是本发明嵌入式系统上脱离串口的调试打印方法实施例三的步骤流程图,包括以下步骤
51、直接接收待输出调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。图6是本发明嵌入式系统上脱离串口的调试打印方法实施例四的步骤流程图,包括以下步骤
51、接收转发的待输出调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识;
52、读取暂存的调试打印数据并进行数据显示和/或日志保存。图5和图6作为本发明嵌入式系统上脱离串口的调试打印方法最佳的两个实施例,缓存单元在对调试打印数据进行暂存的过程中,对暂存数据设置标志位进行标识,标识调试打印数据是否有处理,方便后续的对调试打印数据的读取,进行数据显示和/或保存。
5
图7是本发明在嵌入式系统上脱离串口的调试打印装置实施例一的模块方框图, 装置包括
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。在该实施例中,缓存单元直接接收待输出的调试打印信息,经由数据处理单元读取后,显示在嵌入式系统上的显示输出设备上和/或存储于本地日志文件及网络空间中。图8是本发明在嵌入式系统上脱离串口的调试打印装置实施例二的模块方框图, 装置包括
用于将已接收的待输出调试打印数据进行暂存的缓存单元;
用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元;
用于接收待输出的调试打印数据并进行转发的串口驱动单元。在该实施例中,由串口驱动单元接收待输出的调试打印数据,但有别于现有嵌入式系统中的串口驱动单元,本实施例中的串口驱动单元在将调试打印数据输出给调试主计算机的同时,还将该数据转发给缓存单元。缓存单元在接收到串口驱动单元转发的待输出调试数据后进行暂存,后经由数据处理单元读取,显示在嵌入式系统上的显示输出设备上和/或存储于本地日志文件及网络空间中。图9和图10分别是本发明在嵌入式系统上脱离串口的调试打印装置实施例三、实施例四的模块方框图。在此两实施例中,缓存单元均包括用于标识缓存单元中的数据是否有处理的标识模块。当缓存单元有调试打印数据存入时,标识模块对标志位进行置位。而对缓存单元实时监控的数据单元检测到标志位被置位时,将开始对缓存中的调试打印数据进行读取,并予以显示和/或日志保存。图11和图12分别是本发明在嵌入式系统上脱离串口的调试打印装置实施例五的模块方框图和实施例六的模块方框图A,也是本发明最佳的两个实施例。在此两实施例中, 该装置设置了选择器单元对数据处理模块进行调试打印数据显示和/或日志保存的控制。 当用户不需要对嵌入式系统进行调试时,选择器单元则设置为关闭状态,数据处理单元从缓存中读取的调试打印数据将不会输出到嵌入式系统的显示输出设备上进行显示,也不会保存在日志文件中,而是被简单丢弃;当用户需要对嵌入式系统进行调试和分析时,选择器则可以设置为将数据处理单元中的调试打印数据输入到嵌入式系统中的显示输出设备,或保存于日志文件中及网络空间,或在显示的同时进行保存。图13是本发明在嵌入式系统上脱离串口的调试打印装置实施例六的模块方框图 B。下面结合图13对本发明在嵌入式系统上脱离串口的调试打印装置的实现进行详细说明。在现有的嵌入式系统串口打印调试中,来自于嵌入式系统用户层和内核层的调试打印数据通过串口驱动单元输入到PC串口终端显示上,即调试主计算机的显示输出设备上。而本装置通过缓存单元对调试打印数据进行动态接收并进行暂存。对调试打印数据的动态接收可以通过直接接收的方式。即,缓存单元不经过串口驱动单元,直接对来自于用户层和内核层的调试打印数据进行接收;也可对现有的串口驱动单元进行改进,使其在将接收到的调试打印数据向调试主计算机输出的同时,也把同样的数据转发到缓存单元。调试打印数据暂存到缓存单元后,数据处理单元开始进行读取。为了方便数据的读取,在缓存单元内可以设置标识模块,对暂存的数据进行标示。当缓存单元中有调试打印数据进入时,标识模块对标志位进行置位。而对缓存单元实时监控的数据处理单元检测到标志位被置位时,将开始对缓存中的调试打印数据进行读取。读取完毕后,数据处理单元清除标志位的置位,等待下一段打印调试数据的到来。数据处理单元将读取出的调试打印数据显示在嵌入式系统自身的显示输出设备上,或保存在本地日志文件及网络空间中,或在输出显示的同时进行保存处理。为了用户选择操作的需要,设置一选择器单元。根据用户需要,通过选择器单元,对数据处理单元中的调试打印数据进行显示和/或保存处理。也可通过设置选择器单元,关闭数据处理单元对调试打印数据的显示和保存处理。以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
权利要求
1.一种在嵌入式系统上脱离串口的调试打印方法,其特征在于包括以下步骤51、接收待输出的调试打印数据并进行暂存;52、读取暂存的调试打印数据并进行数据显示和/或日志保存。
2.根据权利要求1所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于所述步骤Sl中接收待输出的调试打印数据具体为直接接收待输出的调试打印数据;或者,接收转发的待输出调试打印数据。
3.根据权利要求1或2所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于所述步骤Sl包括接收待输出的调试打印数据并进行暂存,设置标志位对暂存数据是否有处理进行标识。
4.根据权利要求1或2所述的一种在嵌入式系统上脱离串口的调试打印方法,其特征在于所述步骤S2包括521读取暂存的调试打印数据;522选择将调试打印数据进行显示和/或保存于日志文件中。
5.一种在嵌入式系统上脱离串口的调试打印装置,其特征在于包括用于将已接收的待输出调试打印数据进行暂存的缓存单元;用于读取暂存的调试打印数据并进行数据显示和/或日志保存的数据处理单元。
6.根据权利要求5所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于该装置还包括用于接收待输出的调试打印数据并进行转发的串口驱动单元。
7.根据权利要求5或6所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于所述缓存单元还包括用于标识缓存单元中的数据是否有处理的标识模块。
8.根据权利要求7所述的一种在嵌入式系统上脱离串口的调试打印装置,其特征在于该装置还包括用于选择将调试打印数据进行显示和/或保存于日志文件中的选择器单元。
全文摘要
本发明公开了一种在嵌入式系统上脱离串口的调试打印方法和装置,方法包括接收待输出的调试打印数据并进行暂存;读取暂存的调试打印数据并进行数据显示和/或保存。装置包括缓存单元,用于读取暂存的调试打印数据并进行数据显示和/或保存;数据处理单元,用于读取暂存的调试打印数据并进行数据显示和/或保存的数据处理单元。本发明嵌入式系统上脱离串口的调试打印方法和装置,延伸了打印调试方法的调试场合,从而可动态地展开嵌入式产品的调试,实现了让打印调试方式脱离了对调试主计算机的依赖,加快了嵌入式产品的开发进度和提高了产品质量。本发明作为一种在嵌入式系统上脱离串口的调试打印方法和装置应用于嵌入式系统打印调试中。
文档编号G06F3/12GK102508621SQ20111032053
公开日2012年6月20日 申请日期2011年10月20日 优先权日2011年10月20日
发明者陈黎明 申请人:珠海全志科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1