【RM】嵌入式调试经验
0x00 总体方法论
-
一定要先排查硬件问题
在代码没有改动的情况下,大多数都是硬件腐化了。有时候硬件问题很难看出来,比如之前掉了一个金属垫片到板子上,导致短接,然后重启,这种短接是偶然触发的,所以很难排查。
-
设计实验,逐渐增加复杂度
从某一个小系统开始,关闭其他部分。或者让一些量不变化。实验需要做记录,有数据有对比。
-
正向排查
从水源到排水口,即从原始数据、到处理过程、到最终输出
-
有时候需要反向排查
可能是这里产生了问题,试着改一下,发现有用,再回头看为什么出现这样的问题。
-
上网搜索很重要
嵌入式很多资料都被藏在了互联网深处,许多有价值的资料都因为年代比较久,推荐排序靠后。
0x01 工具
调试器
Vofa等波形绘制
逻辑分析仪
https://blog.csdn.net/The__Xia/article/details/145388693 keil中除了断点和watch窗口外,一些实用的调试小技巧
0x02 手段
断点
Trace
https://www.eet-china.com/mp/a12699.html https://www.cnblogs.com/ramlife/articles/14024516.html 高级的断点
