一种获取串口打印信息的方法及系统技术方案

技术编号:6965681 阅读:290 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种获取串口打印信息的方法,该方法包括:开启调试功能,设置内核;执行调试命令,获取内核中的串口打印信息;关闭调试功能,清除内核,停止获取串口打印信息。本发明专利技术还公开了一种获取串口打印信息的系统,采用本发明专利技术所述的方法及系统,在实现子卡故障调试的同时,便于远程维护和调试,提高了调试效率。

【技术实现步骤摘要】
一种获取串口打印信息的方法及系统
本专利技术涉及网络设备调试领域,特别是指一种获取串口打印信息的方法及系统。
技术介绍
Linux作为一种免费使用的操作系统,目前在产品开发中使用的越来越多。对于Linux系统的嵌入式设备,称之为Linux设备。对于Linux设备,最方便的调试手段是通过串口连接到Linux设备,然后登录到Linux系统中进行调试,运行调试命令,将调试过程中产生的串口打印信息打印在串口上,也就是说,通过串口输出串口打印信息。运行在网络环境中的设备,通常包括一个主控板及若干子卡,其中,子卡运行Linux系统,但是,子卡通常不能与外网中的串口直接相连,从而无法通过串口输出串口打印信息,这样,对于子卡就缺少方便的故障调试手段。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种获取串口打印信息的方法及系统,能在实现子卡故障调试的同时,便于远程维护和调试,提高调试效率。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供了一种获取串口打印信息的方法,该方法包括:开启调试功能并设置内核;通过执行调试命令获取内核中的串口打印信息;获取串口打印信息后关闭调试功能并清除内核,停止获取串口打印信息。上述方案中,所述设置内核包括:子卡创建管道文件,并将生成的读端描述符及写端描述符设置为非阻塞方式,将第一ttyIO系统调用类型添加到子卡驱动并调用,将写端描述符传递到内核;内核读取写端描述符,根据写端描述符查找所述写端描述符对应的文件。上述方案中,所述获取内核中的串口打印信息包括:内核将产生的串口打印信息,通过写端描述符缓存到所述写端描述符对应的管道文件的写端;每次自身定时器定时时间到,子卡根据读端描述符读取所述读端描述符对应的管道文件的读端,获取串口打印信息。上述方案中,所述清除内核,停止获取串口打印信息包括:子卡在子卡驱动中添加第二ttyIO系统调用类型并调用,删除管道文件,内核产生串口打印信息时,没有找到对应的管道文件,则不进行缓存操作,停止串口打印信息获取。本专利技术还提供了一种获取串口打印信息的系统,该系统包括:主控板登录模块、子卡调试代理线程以及串口打印信息获取模块;主控板登录模块,用于通过板间通信接口向子卡调试代理线程发送开启调试功能的消息;向子卡调试代理线程发送调试命令,接收子卡调试代理线程发送的串口打印信息;向子卡调试代理模块发送关闭调试功能的消息;子卡调试代理线程,用于通知串口打印信息获取模块开始获取打印信息,并反馈给主控板登录模块;执行调试命令,读取串口打印信息获取模块中的串口打印信息,并反馈给主控板登录模块;通知串口打印信息获取模块停止获取串口打印信息,并反馈给主控板登录模块;串口打印信息获取模块,用于设置内核;获取内核中的串口打印信息;清理内核,停止获取内核中的串口打印信息。上述方案中,所述串口打印信息获取模块具体用于创建管道文件,并将生成的读端描述符及写端描述符设置为非阻塞方式,将第一ttyIO系统调用类型添加到子卡驱动并调用,将写端描述符传递到内核;读取内核中的写端描述符,根据写端描述符查找所述写端描述符对应的管道文件,将读端描述符发送给子卡调试代理线程。上述方案中,所述子卡调试代理线程,用于根据读端描述符读取所述读端描述符对应的管道文件的读端,读取串口打印信息。上述方案中,该系统进一步包括:定时器;所述子卡调试代理线程,用于接收主控板登录模块发送的开启调试功能的消息,开启定时器,根据定时器的通知,读取串口打印信息获取模块中管道文件中的串口打印信息;定时器,启动后,每到定时时间,通知子卡调试代理线程。由此可见,采用本专利技术所述的方法及系统,远程登录主控板对子卡进行调试,通过子卡中的子卡调试代理线程及串口打印信息,获取模块执行调试命令,获取内核中的串口打印信息,如此,能在实现子卡故障调试的同时,便于远程对子卡进行维护和调试,提高了调试效率。附图说明图1为本专利技术获取串口打印信息的方法流程示意图;图2为本专利技术获取串口打印信息的系统组成示意图。具体实施方式由于子卡与主控板可以通过板间通信接口进行通信,借助于这一途径,可以获取串口信息。因此,本专利技术的基本思想是:先开启调试功能,设置内核;通过执行调试命令获取内核中的串口打印信息;之后关闭调试功能,清理内核,停止获取串口打印信息。下面通过具体实施例与附图来对本专利技术进行详细说明。本专利技术提供的获取串口打印信息的方法,如图1所示,具体步骤如下:步骤101、开启子卡的调试功能,设置内核;这里,可以通过远程登录界面远程登录主控板,通过板间通信接口将开启调试功能的消息发送给子卡;子卡收到开启调试功能的消息后设置自身内核,并开启自身的定时器,所述定时器的定时时间可根据需要设定。其中,所述远程登录主控板的界面称为主控板登录模块;所述设置内核包括:子卡创建管道文件,生成两个文件描述符--读端描述符与写端描述符;将描述符设置为非阻塞方式;将第一ttyIO系统调用类型TIOSETTTYFILE添加到子卡驱动中,调用所述第一ttyIO系统调用类型,将写端描述符传递到子卡的内核中,内核根据写端描述符查找所述写端描述符对应的管道文件。其中,所述描述符用于描述管道文件,可以根据描述符确定对应的管道文件;将读端描述符设置为非阻塞方式,即:可以在子卡读取管道文件读端的数据时,如果内容为空,直接返回数据读取端,不需要一直进行等待数据读取操作;将写端描述符设置为非阻塞方式,即:可以在管道文件写满时,放弃写入,防止写入数据时,管道文件已写满,一直等待,直至管道文件出现空间才写入。这里,将读端描述符及写端描述符设置为非阻塞方式,可防止Linux系统出现异常;所述第一ttyIO系统调用类型用于将写端描述符传递给内核。内核设置完成后,子卡会向主控板登录模块反馈调试功能已开启。步骤102、执行调试命令,获取内核中的串口打印信息;本步骤中,主控板登录模块通过板间通信接口向子卡发送调试命令,子卡执行调试命令。所述获取内核中的串口打印信息包括:内核将串口打印信息缓存到管道文件,每次定时时间到时,子卡读取管道文件中的串口打印信息并发送给主控板登录模块,由主控板登录模块显示。其中,所述内核将串口打印信息缓存到管道文件包括:内核将自身产生的串口打印信息,根据写端描述符写入与所述写端描述符对应的管道文件的写端;所述读取管道文件中的串口打印信息包括子卡根据读端描述符,读取所述读端描述符对应的管道文件的读端,获取串口打印信息。步骤103、获取到串口打印信息之后,关闭调试功能,清理内核,停止获取串口打印信息。本步骤中,主控板登录模块在获取到串口打印信息后向子卡发送关闭调试功能的消息,子卡收到关闭调试功能的消息后清理内核,停止获取串口打印信息,停止获取调试信息,停止定时器。这里,所述清理内核,停止获取串口打印信息包括:子卡在子卡驱动中添加第二ttyIO系统调用类型TIOCLRTTYFILE,调用第二ttyIO系统调用类型,删除管道文件;内核产生串口打印信息时,没有找到对应的管道文件,则不进行缓存操作,进而停止串口打印信息获取。完成调试功能关闭和内核清理后,子卡向主控板登录模块反馈调试功能已关闭。为实现以上方法,本专利技术还提供了一种获取串口打印信息的系统,如图2所示,该系统包括:主控板登录模块201、子卡调试代本文档来自技高网...
一种获取串口打印信息的方法及系统

【技术保护点】
1.一种获取串口打印信息的方法,其特征在于,该方法包括:开启调试功能并设置内核;通过执行调试命令获取内核中的串口打印信息;获取串口打印信息后关闭调试功能并清除内核,停止获取串口打印信息。

【技术特征摘要】
1.一种获取串口打印信息的方法,其特征在于,该方法包括:开启子卡调试功能并设置内核;通过执行调试命令获取内核中的串口打印信息;获取串口打印信息后关闭调试功能并清除内核,停止获取串口打印信息;其中,所述设置内核包括:子卡创建管道文件,并将生成的读端描述符及写端描述符设置为非阻塞方式,将第一ttyIO系统调用类型添加到子卡驱动并调用,将写端描述符传递到内核;内核读取写端描述符,根据写端描述符查找所述写端描述符对应的文件。2.根据权利要求1所述的方法,其特征在于,所述获取内核中的串口打印信息包括:内核将产生的串口打印信息,通过写端描述符缓存到所述写端描述符对应的管道文件的写端;每次自身定时器定时时间到,子卡根据读端描述符读取所述读端描述符对应的管道文件的读端,获取串口打印信息。3.根据权利要求1或2所述的方法,其特征在于,所述清除内核,停止获取串口打印信息包括:子卡在子卡驱动中添加第二ttyIO系统调用类型并调用,删除管道文件,内核产生串口打印信息时,没有找到对应的管道文件,则不进行缓存操作,停止串口打印信息获取。4.一种获取串口打印信息的系统,其特征在于,该系统包括:主控板登录模块、子卡调试代理线程以及串口打印信息获取模块;主控板登录模块,用于通过板间通信接口向子卡调试代理线程发送开启调试功能的消息;向子卡调试代理线程发送调试命令,接收子卡调试代理线程发送的串口打印信息;向子卡调试代理模块发送关闭调试功能的消息;子卡调试代理线程,用于通知串口打印信息...

【专利技术属性】
技术研发人员:王义安郭红涛
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1