针对出现代码异常复位、代码死机、代码非正常运行等轻快,开发者解决问题流程有:
-
开发者应该习惯使用debug进行问题定位,多数情况下都能通过debug或多次debug调节解决问题。常见debug方式:
-
log debug:通过uart debug出问题点, 最常见也是使用最广的定位bug的方式。(可以对比正常log和异常log,跟踪正常流程,对比差异部分)
-
比较法:例如比较是否公版未修改是否出现这个问题。(或者对比其他同一分支是否复现这个问题)定位是新版本代码修改带来的问题,还是板子、芯片不兼容的问题。。
-
断点调试(加log:):例如怀疑是某个部分导致问题,在这个位置前面或者后面debug进行测试。
-
…
-
出现死机、cpu异常,需要用到elf反编译跟踪流程,log+lst
-
IO翻转(LED亮灭)+示波器/逻辑分析仪:可以用来跟踪定时器时间,观测定时器是否异常;也可以用来观测程序是否执行到需要观测的部分。
-
异常分析:...