J-LINK/ST-LINK调试

J-LINK调试

一、J-LINK调试原理

J-LINK/ST-LINK调试_第1张图片

总结一下就是:调试模块“中断”内核正在运行的程序等待被查询,查询结束后,内核 继续正在进行的工作。

串行接口即为SWD。-2根数据线 而JTAG调试需要5根。

具体介绍如下:J-LINK/ST-LINK调试_第2张图片

SWD和J-LINK具体使用的端口及映射引脚:

J-LINK/ST-LINK调试_第3张图片

 设置调试口可以使用库函数,在stm32f10x_gpio.h中有GPIO_PinRemapConfig()函数:

J-LINK/ST-LINK调试_第4张图片

JTAG/SWD接口常见硬件图:

J-LINK/ST-LINK调试_第5张图片

二、软件仿真

使用软件仿真的好处是可以节省开发板Flash的寿命,发现一些问题。但是不能排除所有问题。软件仿真设置如下:

J-LINK/ST-LINK调试_第6张图片

注:Target中选择开发板的晶振频率,Xtal为8MHz(默认是12MHz,不知道应该使用哪个),具体情况具体设置。Simulator为仿真的意思。

设置好后开始Debug调试:
        

J-LINK/ST-LINK调试_第7张图片

三、硬件调试

         硬件调试和程序下载非常相似,就是把下载改成debug。使用调试章节的例程,有printf功能,可以使用串口调试助手进行接收数据,但是需要注意的是,如果串口调试助手的波特率设置不正确,就可能收不到数据或者数据乱码,

J-LINK/ST-LINK调试_第8张图片

那么这个波特率如何确定的?在main.c中已经设定好,我就是设置错波特率导致接受的数据都是乱码。

J-LINK/ST-LINK调试_第9张图片

四、具体例程调试

         使用跑马灯实验进行调试练习,掌握分析窗口(analysis windows)和peripherals(外设)等的界面,如下:

J-LINK/ST-LINK调试_第10张图片

你可能感兴趣的:(嵌入式,STM32)