STM32 - SWV调试方法

现在还很多人在使用串口printf调试的办法,这个很简单很方便,但是现在却显得有点古老了。缺点很明显,需要一个额外的串口外设,还需要串口转USB线,还要在PC上打开一个串口软件。

但是cortex-M有着更好的调试办法。可以通过J-link接口或ST-link更方便地进行调试,例如直接可以printf不需要额外的串口,可以实时查看变量的变化情况,甚至一些IDE还可以看到变量的可视化曲线等等

例如:https://www.bilibili.com/video/BV1AJ411G7sC
可以看上面这个视频有个大概的了解

SWD:用CLK(JTCK)和DIO(JTMS)两条线就可以进行实现SWDdebug,比J-tag还要方便。但是这种SWD只能进行一些普通的调试,如开始、单步调试、停下来查看内存,变量值等等。因为需要停下来才能看到变量值,这给调试工作带来很多的麻烦,效率也很低。
如果给SWD再加上一条线,SWO(JTDO),就可以实现一个实时的调试

SWD调试方法+SWO线就可以实现SWV(Serial Wire Viewer)的调试方法,可以实时看到变量的变化,还可以printf(不使用串口),这两个是最直观地感受,但是其实还要一些其他更加强大的功能!!

现在学单片机一定要学会SWV这种高效的degbug办法,不然就是写代码5分钟,调试2小时

更多资料可以参考:
https://blog.csdn.net/Naisu_kun/article/details/97393547

http://blog.atollic.com/learn-serial-wire-viewer-debugging-on-cortex-m

你可能感兴趣的:(stm32,其他)