[发明专利]一种嵌入式系统中诊断设备无响应的方法在审
申请号: | 201910856737.6 | 申请日: | 2019-09-11 |
公开(公告)号: | CN112486712A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 冯海强 | 申请(专利权)人: | 北京简约纳电子有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/36 |
代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 沈留兴 |
地址: | 100191 北京市海淀区知春*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 诊断 设备 响应 方法 | ||
本发明公开了一种嵌入式系统中诊断设备无响应的方法。具体包括保存并打印TASK的运行位置、利用BOOT引脚触发诊断流程、诊断RTOS系统调度这几个部分。通过以上几种手段的结合,再结合汇编代码和C语言代码,可以比较快速的定位到问题产生的原因。比如系统中某个TASK使用了二值信号量却没有释放,后面其他多个TASK又继续来申请使用该信号量,因为这些TASK都获取不到该信号量,导致都会被挂起,此时表现出的现象就是系统无响应。此时,开发人员就可以利用以上几种方式进行诊断。
技术领域
本发明属于相关嵌入式系统技术领域,具体涉及一种嵌入式系统中诊断设备无响应的方法。
背景技术
在嵌入式系统中,RTOS的使用已经无处不在了,而且诊断Trap的手段很多。在嵌入式设备中,有部分流程是这样的,按键中断触发需要转到对应的TASK去处理该中断事件,当TASK接收到这样的事件时,会有相应的LOG通过USB口从LOG助手(Windows工具)输出,还有,在系统中加了SHELL命令行功能,用于处理串口输入的命令并执行(类似linux的shell),SHELL作为一个TASK在RTOS系统中运行,它的任务优先级较高,而且系统中也加了诊断Trap的功能,比如取指令异常、总线错误以及内存错误等都会触发相应的处理流程,并且会有TRAP信息同时从LOG助手和串口输出。但我遇到的情况是,系统在某种特殊情况下,我按了相应的按键,本该触发该按键中断,并从LOG助手输出相应的LOG,但无论尝试多少次,都没有效果,同时我尝试SHELL命令,看是否能够执行,结果也是一样,SHELL没有任何反应。这时串口和LOG助手都没有任何LOG,所以排除了正常TRAP的可能性。这种情况下,就需要其他手段了。
发明内容
本发明的目的在于提供一种嵌入式系统中诊断设备无响应的方法,以解决上述背景技术中提出的不能很好的处理该条件下设备无响应的问题。
为实现上述目的,本发明提供如下技术方案:
一种嵌入式系统中诊断设备无响应的方法,所述在嵌入式系统中,诊断设备或者系统无响应的方法,具体包括如何确定TASK的当前执行的位置、如何触发追踪流程和如何追踪系统运行时状态几个部分。具体操作步骤包括如下:
步骤一:通过在TASK任务控制块中增加当前PC指针值,来定位每个TASK当前(或者最后)执行的位置。
步骤二:异常时,通过BOOT MODE拨码开关,控制触发问题追踪流程。
步骤三:在追踪问题时,增加打印TASK PC指针值和诊断RTOS运行过程。
优选的,所述在步骤一中,先在TCB任务控制块的定义中增加一个PC成员,用于保存TASK最后的运行位置,将pc成员保存在第一个word后,这里pc成员为tsk_pc,如下所示:
typedef struct
{
uint32_t *pxtop_of_stack;
uint32_t tsk_pc; /* to save last location. */
} tskTCB;
在TCB中添加tsk_pc成员之后,需要在任务切换之前,将实际的pc指针保存到TCB的tsk_pc中,由于设备使用的是Cortex-M4的核,根据M4核的特性,响应异常的第一个动作,就是自动保存现场的必要部分,依次把xPSR, PC, LR, R12以及R3‐R0由硬件自动压入适当的堆栈中,所以代码可以这样将PC值取出来:
__asm void xPortPendSVHandler( void )
{
mrs r0, psp
isb
/* Get the location of the current TCB. */
ldr r3, =pxCurrentTCB
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京简约纳电子有限公司,未经北京简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910856737.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种业务配置方法及装置
- 下一篇:一种河流污染物溯源方法