↑点击上方蓝色字体,关注“嵌入式软件实战派”获得更多精品干货。
辛辛苦苦将AUTOSAR基本模块添加进来,才刚刚跑起来。放了一会,居然挂了,挂了!
通过仿真,将问题复现到,停下来一看,
ErrorHook
!懵逼了!啥玩意?!
以我多年的经验来看,弄个CallStack或者啥来看看,应该知道个十有八九吧!
呵呵……再一次懵逼!这个ERROR并非同步出现,而是OS异步处理的,你只能看到这个ErrorHook的前两个函数调用,更多的原因,还是不知道的。
不信?我将这个endless的值改了0,让其跳出这死循环。
调用这个ErrorHook的是Os_Hook2StatusHook(hook)->Callback(status);,在这段代码里面,真的看不出所以然来,继续再往上翻一层。
这好像涉及到OS的调度了,越搞越复杂,继续深挖不一定是一条可行的道路。
于是,我需要冷静一下,淡定!重头来过,从以下三个点来看这个问题:
-
ErrorHook是个什么东西,在设计上有什么作用?
-
-