J-LINK调试
一、J-LINK调试原理
总结一下就是:调试模块“中断”内核正在运行的程序等待被查询,查询结束后,内核 继续正在进行的工作。
串行接口即为SWD。-2根数据线 而JTAG调试需要5根。
具体介绍如下:
SWD和J-LINK具体使用的端口及映射引脚:
设置调试口可以使用库函数,在stm32f10x_gpio.h中有GPIO_PinRemapConfig()函数:
JTAG/SWD接口常见硬件图:
二、软件仿真
使用软件仿真的好处是可以节省开发板Flash的寿命,发现一些问题。但是不能排除所有问题。软件仿真设置如下:
注:Target中选择开发板的晶振频率,Xtal为8MHz(默认是12MHz,不知道应该使用哪个),具体情况具体设置。Simulator为仿真的意思。
设置好后开始Debug调试:
三、硬件调试
硬件调试和程序下载非常相似,就是把下载改成debug。使用调试章节的例程,有printf功能,可以使用串口调试助手进行接收数据,但是需要注意的是,如果串口调试助手的波特率设置不正确,就可能收不到数据或者数据乱码,
那么这个波特率如何确定的?在main.c中已经设定好,我就是设置错波特率导致接受的数据都是乱码。
四、具体例程调试
使用跑马灯实验进行调试练习,掌握分析窗口(analysis windows)和peripherals(外设)等的界面,如下: