[发明专利]一种嵌入式系统中诊断设备无响应的方法在审
申请号: | 201910856737.6 | 申请日: | 2019-09-11 |
公开(公告)号: | CN112486712A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 冯海强 | 申请(专利权)人: | 北京简约纳电子有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/36 |
代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 沈留兴 |
地址: | 100191 北京市海淀区知春*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 诊断 设备 响应 方法 | ||
1.一种嵌入式系统中诊断设备无响应的方法,其特征在于:所述在嵌入式系统中,诊断设备或者系统无响应的方法,具体包括如何确定TASK的当前执行的位置、如何触发追踪流程和如何追踪系统运行时状态几个部分;具体操作步骤包括如下:步骤一:通过在TASK任务控制块中增加当前PC指针值,来定位每个TASK当前(或者最后)执行的位置;步骤二:异常时,通过BOOT MODE拨码开关,控制触发问题追踪流程;步骤三:在追踪问题时,增加打印TASK PC指针值和诊断RTOS运行过程。
2.根据权利要求1所述的一种嵌入式系统中诊断设备无响应的方法,其特征在于:所述在步骤一中,先在TCB任务控制块的定义中增加一个PC成员tsk_pc,用于保存TASK最后的运行位置,另外,在任务切换之前,将实际的pc指针保存到TCB的tsk_pc中。
3.根据权利要求1所述的一种嵌入式系统中诊断设备无响应的方法,其特征在于:所述在步骤二中,设备使用了MCU的BOOT Mode引脚,在系统启动后,BOOT Mode引脚就不会再被硬件检测,之后在系统起来后,将BOOT Mode的一个引脚boot1用作GPIO,该GPIO作为输入,假设boot1为高电平时可以正常启动系统,那么在上电时,boot1必须为高电平,系统起来后,idle task(空闲任务)里不断检测该GPIO引脚是否为低电平来触发相应的诊断流程。
4.根据权利要求1所述的一种嵌入式系统中诊断设备无响应的方法,其特征在于:所述在步骤三中,设备使用的RTOS中,收发事件使用的是OS_EventGrpWait和OS_EventGrpSet接口,为了定位问题,在这两个函数内部增加串口打印LOG,用于确定事件是否正常发送出去,从而诊断某个TASK;在步骤二诊断流程触发的前提下,会触发一个开关,打开该串口LOG,同时通过OS_EventGrpSet给某个TASK发测试事件,当该TASK收到该测试事件时,会执行它,如果没有收到,则通过这两个函数内的串口LOG可以查一下原因。
5.根据权利要求1所述的一种嵌入式系统中诊断设备无响应的方法,其特征在于:所述在步骤三中,根据打印出所有TASK的各种信息,主要是保存到TCB成员tsk_pc中的PC值,然后在汇编文件中查找各个TASK的tsk_pc对应的实际位置,并结合C语言代码,就可以分析出各个TASK最后在哪个函数的哪个位置了。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京简约纳电子有限公司,未经北京简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910856737.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种业务配置方法及装置
- 下一篇:一种河流污染物溯源方法