嵌入式故障分析
文章平均质量分 78
cjpx84
主要研究嵌入式linux,对linux内存管理,文件系统非常感兴趣。
展开
-
sched_clock精度不够导致统计cpu占用率发生跳变故障
1 故障现象 系统比较空闲时(cpu占用率为20%左右),系统死循环检测机制检测到存在任务处于死循环状态。但是,系统明显比较空闲,也就是说系统死循环检测机制发生了误判。为了分析这个故障,首先要了解死循环检测机制的工作原理。 2 死循环检测机制 每隔一分钟,统计一次系统中所有任务的cpu占用率,如果一分钟之内统计到某个任务cpu占有率超过给定的阈值,那么首先将该任务作为死循环发生的一个必原创 2014-04-05 23:25:48 · 4557 阅读 · 0 评论 -
mmap_sem信号量死锁故障分析
1 故障现象 该故障出现时,系统提供的调试shell,命令行都不能执行,只有busybox shell (bshell)和魔键(sysrq)可以用。在串口下启动进程就被挂住,进程都处于D状态。 2 故障定位分析 该故障出现时,只有bshell跟魔键信息可以用,自然而然的就敲了魔键,把内核的调用链打印出来,可是,魔键打印的内核调用链信息很多,很难从调用链的信息原创 2014-04-08 22:53:11 · 4064 阅读 · 1 评论 -
根据PPC反汇编代码分析堆栈内容
1 栈帧 我们知道,发生函数调用时,通常被调用函数会保存调用函数的现场,然后才会继续执行被调用函数的指令,被调用函数执行完成之后,就会恢复调用函数的现场,继续执行调用函数的指令。栈帧就是在堆栈中保存每一次函数调用现场的一个基本单元。每一次函数调用都会在堆栈中记录函数的栈帧。 2 汇编指令 下面我们反汇编下DbugExcShowAll函数,得到如下的反汇编代码。 (ksh)l原创 2014-08-24 15:23:38 · 3298 阅读 · 0 评论