一 STM-STUDIO-STM8/STM-STUDIO-STM32:只能用STLINK,可观察STM8/STM32,加载AXF文件后选择变量即可应该没有变量数目的限制。
//www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-performance-and-debuggers/stm-studio-stm32.html
二 keil的debugprintf:需要jink以SWD(SWO引脚需要),在线硬件仿真trace.
三 segger的工具套件:J-LINK RTT VIWE/LOG/CLINT,这需要RTT配置;
四 segger的J-scope:JLINKv8 只能观察5个变量,V4能观察100个变量。图形化显示与STM STDIO差不多,这两种的优点是如果变量是IO端口的话可以波形显示,相当于示波器了。因为有变量限制所以stm stdio可以观察更多的变量。
SEGGER的Ozone调试组件新增的快照功能,超级实用,解决随机性死机的利器
Python实现的Segger RTT客户端 https://www.jianshu.com/p/c85b896ac5f1
https://pylink.readthedocs.io/en/latest/
https://www.cnblogs.com/shangdawei/p/3966312.html
CmBacktrace +addr2line定位hardfault:其中addr2line可全盘搜索,然后将其放到C盘WINDOWS下,在ENV中添加软件包,在keil-mdk中设置axf输出(注意output下的bin和user下axf名字要一致),然后在出现hard fault后,在win 的命令行中切换到项目axf文件所在的文件夹,然后按照cmbacktrace中的提示在命令行中运行addr2line -e........
最终: