《一种嵌入式设备的在线诊断系统及其方法.pdf》由会员分享,可在线阅读,更多相关《一种嵌入式设备的在线诊断系统及其方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102004683A43申请公布日20110406CN102004683ACN102004683A21申请号201010546994922申请日20101117G06F11/2220060171申请人广东威创视讯科技股份有限公司地址510663广东省广州市高新技术产业开发区彩频路6号72发明人宋美威吴鹏74专利代理机构广州粤高专利商标代理有限公司44102代理人禹小明张伟杰54发明名称一种嵌入式设备的在线诊断系统及其方法57摘要本发明涉及嵌入式设备技术领域,特别是一种嵌入式设备的在线诊断系统及其方法。所述嵌入式设备包括一个或多个内部模块,所述系统还包括设置在嵌入式设备内部用于。
2、接收用户的诊断请求并返回诊断信息的诊断模块。本发明现场操作简单易用由于是一种基于嵌入式软件的在线诊断发明,嵌入式软件的特点是实时的;同时,在系统任务初始化时,类对象已注册到链表中,诊断任务的相关信息直接可以提出,不需要浪费数据转发的时间了,这样为更快的获得系统需要诊断信息提供时间保障。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书3页附图2页CN102004696A1/2页21一种嵌入式设备的在线诊断系统,所述嵌入式设备包括一个或多个内部模块,其特征在于,所述系统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息的诊断模块。2根据权利要求1所述的。
3、在线诊断系统,其特征在于,所述诊断模块包括依次连接的诊断接口模块、诊断管理处理模块和对象存储模块诊断接口模块用于接收用户的诊断请求,并通过诊断管理处理模块调取相应内部模块的诊断信息;诊断管理处理模块根据诊断接口模块传递的诊断请求,从对象存储模块中调取相应内部模块的诊断信息;对象存储模块存储一个或多个内部模块的对象信息,根据对象信息获取内部模块的诊断信息。3根据权利要求2所述的在线诊断系统,其特征在于,所述诊断模块还包括与对象存储模块连接的初始化模块,所述初始化模块在嵌入式设备初始化的时候,向对象存储模块注册嵌入式设备中一个或多个内部模块的对象信息。4根据权利要求2所述的在线诊断系统,其特征在于。
4、,所述诊断管理处理模块包括互相连接的诊断任务管理模块和诊断任务处理模块,所述诊断任务管理模块用于根据诊断请求,判读所需诊断的内部模块,所述诊断任务处理模块用于调用对象存储模块调取相应内部模块的诊断信息。5根据权利要求2所述的在线诊断系统,其特征在于,所述对象存储模块采用链表形式存储内部模块的对象。6一种嵌入式设备的在线诊断方法,其特征在于,所述方法包括(61)诊断接口模块接收到用户的诊断请求;(62)诊断接口模块向诊断管理处理模块传递诊断请求,要求调取内部模块的诊断信息;(63)诊断管理处理模块从对象存储模块中调取内部模块的诊断信息并返回给诊断接口模块;(64)诊断接口模块返回内部模块的诊断信。
5、息。7根据权利要求5所述的诊断方法,其特征在于,所述方法还包括在嵌入式设备初始化的时候,一个或多个内部模块向对象存储模块注册记录内部模块的对象信息;所述步骤(63)从对象存储模块中获取内部模块的对象信息,根据对象信息获取内部模块的诊断信息。8根据权利要求7所述的诊断方法,其特征在于,嵌入式设备初始化时,建立父进程用于执行步骤(61)(64),并为一个或多个内部模块建立基于父进程的子进程,子进程用于调用内部模块的诊断信息;在嵌入式设备初始化时,把子进程信息注册到对象存储模块,所述内部模块的对象信息为子进程信息;所述步骤(63)从对象存储模块获取内部模块的子进程信息,调用子进程获取内部模块的诊断信。
6、息。权利要求书CN102004683ACN102004696A2/2页39根据权利要求8所述的诊断方法,其特征在于,所述内部模块的诊断信息为用户预先设定的用于进行诊断的内部模块的参数。10根据权利要求8所述的诊断方法,其特征在于,所述子进程信息包括进程号。权利要求书CN102004683ACN102004696A1/3页4一种嵌入式设备的在线诊断系统及其方法技术领域0001本发明涉及嵌入式设备技术领域,特别是一种嵌入式设备的在线诊断系统及其方法。背景技术0002在嵌入式设备中,需要实时对内部模块进行监控。现有技术如中国专利嵌入式软件的在线诊断方法和系统、嵌入式软件装置(专利号200810137。
7、828),该专利内容在嵌入式软件内部增加一个子模块,该子模块叫做检测代理模块,检测代理模块用来接收嵌入式软件的各个需要诊断的子模块抄送的报文,并将报文发送给嵌入式软件外部的诊断服务器进行诊断;嵌入式软件外部的诊断服务器对接收到的报文进行验证处理,发现被诊断子模块出现的错误时构造正确的新报文下发给检测代理模块,检测代理模块将新报文发送给需要诊断的子模块,确定出现异常的子模块。该方法存在如下缺陷第一,该诊断方法需要特殊的硬件设备辅助;第二,该诊断方法需要专门的软件工具辅助;第三,该诊断方法对系统运行进行干扰,系统不能实时运行,传输诊断信息会对系统进行干扰;第四,该诊断方法不考虑是否是用户需要的信息。
8、,这样使用该方法不方便。发明内容0003本发明的第一个发明目的在于提供一种嵌入式设备在线诊断系统,以解决现有嵌入式设备的在线诊断系统对嵌入式设备运行造成干扰的技术问题。0004为了实现本发明的第一个发明目的,采用的技术发明如下一种嵌入式设备的在线诊断系统,所述嵌入式设备包括一个或多个内部模块,所述系统还包括设置在嵌入式设备内部用于接收用户的诊断请求并返回诊断信息的诊断模块。0005作为一种优选发明,所述诊断模块包括依次连接的诊断接口模块、诊断管理处理模块和对象存储模块诊断接口模块用于接收用户的诊断请求,并通过诊断管理处理模块调取相应内部模块的诊断信息;诊断管理处理模块根据诊断接口模块传递的诊断。
9、请求,从对象存储模块中调取相应内部模块的诊断信息;对象存储模块存储一个或多个内部模块的对象信息,根据对象信息获取内部模块的诊断信息。0006作为进一步的优选方案,所述诊断模块还包括与对象存储模块连接的初始化模块,所述初始化模块在嵌入式设备初始化的时候,向对象存储模块注册嵌入式设备中一个或多个内部模块的对象信息。0007作为进一步的优选方案所述诊断管理处理模块包括互相连接的诊断任务管理模说明书CN102004683ACN102004696A2/3页5块和诊断任务处理模块,所述诊断任务管理模块用于根据诊断请求,判读所需诊断的内部模块,所述诊断任务处理模块用于调用对象存储模块调取相应内部模块的诊断信。
10、息。0008作为进一步的优选发明,所述对象存储模块采用链表形式存储内部模块的对象。0009本发明的第二个目的,在于提供一种嵌入式设备的在线诊断方法,以应用本发明的第一个发明目的提供的在线诊断系统。0010为了实现本发明的第二个发明目的,采用的技术发明如下一种嵌入式设备的在线诊断方法,所述方法包括(61)诊断接口模块接收到用户的诊断请求;(62)诊断接口模块向诊断管理处理模块传递诊断请求,要求调取内部模块的诊断信息;(63)诊断管理处理模块从对象存储模块中调取内部模块的诊断信息并返回给诊断接口模块;(64)诊断接口模块返回内部模块的诊断信息。0011作为一种优选发明,所述方法还包括在嵌入式设备初。
11、始化的时候,一个或多个内部模块向对象存储模块注册记录内部模块的对象信息;所述步骤(63)从对象存储模块中获取内部模块的对象信息,根据对象信息获取内部模块的诊断信息。0012作为进一步的优选发明,嵌入式设备初始化时,建立父进程用于执行步骤(61)(64),并为一个或多个内部模块建立基于父进程的子进程,子进程用于调用内部模块的诊断信息;在嵌入式设备初始化时,把子进程信息注册到对象存储模块,所述内部模块的对象信息为子进程信息;所述步骤(63)从对象存储模块获取内部模块的子进程信息,调用子进程获取内部模块的诊断信息。0013作为再进一步的优选发明,所述内部模块的诊断信息为用户预先设定的用于进行诊断的内。
12、部模块的参数。0014作为再进一步的优选发明,所述子进程信息包括进程号。0015优选地,本发明应用于多屏处理器的实时嵌入式系统,如VXWROKS等。0016本发明的有益效果1、本发明现场操作简单易用由于是一种基于嵌入式软件的在线诊断发明,嵌入式软件的特点是实时的;同时,在系统任务初始化时,类对象已注册到链表中,诊断任务的相关信息直接可以提出,不需要浪费数据转发的时间了,这样为更快的获得系统需要诊断信息提供时间保障。00172、不需增加特殊的硬件设备由于本发明是基于嵌入式软件架构的发明,所以不涉及特殊的硬件设备。00183、不占用内存资源由于各个模块类对象是以注册链表的形式存在的,不涉及占用内存。
13、空间,这样能节省内存。00194、不影响系统其它任务的执行,由于只有用户需要诊断时才执行该任务,所以不说明书CN102004683ACN102004696A3/3页6影响其他任务的运行时间。00205、可实时获取被监控对象的状态由于在线诊断任务模块是由多个任务组成的,在线表示可在处理器工作的同时查询到有关处理器的运行信息;即用户可以随意调取需要的信息,方便用户及时查询,同时也避免不需要信息查询时间的浪费,所以可以实时获取信息。附图说明0021图1为本发明实施例在线诊断流程图;图2为本发明实施例在线诊断子进程信号流程图;图3为本发明实施例嵌入式系统初始化流程图。具体实施方式0022下面结合附图和。
14、具体实施例对本发明做进一步详细的说明。0023如图1所示为本发明实施例的在线诊断流程图,具体步骤如下(1)在线诊断接口层(即上述诊断接口模块)接收到用户的诊断请求;(2)在线诊断接口层向在线诊断任务管理层(即上述诊断任务管理模块)传递诊断请求,要求调取内部模块的诊断信息;(3)在线诊断任务管理层调用在线诊断任务模块(即上述诊断任务处理模块)从对象存储模块中调取内部模块的诊断信息并返回给在线诊断接口层;在线诊断任务管理层和在线诊断任务模块共同组成上述诊断管理处理模块。0024(4)在线诊断接口层返回内部模块的诊断信息。0025如图2为本发明实施例在线诊断子进程信号流程图。父进程为在线诊断任务管理。
15、的任务类,用于实现上述诊断管理处理模块,子进程为内部模块需要诊断的任务类,子进程为父进程的派生类。每个子进程即是一个需要诊断的对象模块,只需要将每个子进程类对象注册到类对象链表,当在线诊断任务模块调用链表,可以找到该类对象,进而找到在子进程实现的用户需要诊断的内容。0026由于对每个内部模块的诊断都是在子进程中实现,子进程与父进程之间的通讯属于进程级通讯,速度很快,而且不会对系统造成干扰。0027如图3所示为本发明实施例嵌入式系统初始化流程图。0028步骤S1为在线诊断类任务模块创建一个链表,该链表用于存储即将注册的类对象;步骤S2将需要进行在线诊断任务的内部模块创建类对象,将类对象注册到在线诊断任务的链表中,在模块的对象中实现需要诊断的具体内容;步骤S3当在线诊断类任务接口层接到命令,分析需要诊断的内部模块,在线诊断类任务从链表中取出该模块的对象,并获取需要的诊断的信息并返回。说明书CN102004683ACN102004696A1/2页7图1图2说明书附图CN102004683ACN102004696A2/2页8图3说明书附图CN102004683A。