STM32笔记(4)ST-LINK调试介绍

调试相关介绍

调试原理:STM32F10xxx使用的Cortex-M3内核含硬件调试模块,允许内核在取消(指令短点)或访问数据(数据断点)时停止,并可以查询内核的内部状态和系统的外部状态,完成查询后,内核与外设可以被复原,程序也可以继续执行。

JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。(20个引脚)

具有JTAG口的芯片都有如下JTAG引脚定义:
TCK——测试时钟输入;
TDI——测试数据输入,数据通过TDI输入JTAG口;
TDO——测试数据输出,数据通过TDO从JTAG口输出;
TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

SWD(serial wire debug,串行调试),与JATG区别的另一种调试方式。标准接口为双线,有四到五个引脚。下图中,双线接SWDIO,SWCLK即是SWD的接线方式。(或者通过引脚接SWDIO,SWCLK,VCC,GND,最多再接一个复位引脚RST)

以上两种调试方法比较
1)SWD模式比JTAG在高速模式下更加可靠,在大数据量的情况下JTAG下载程序会失败,但是SWD发生的几率会小很多,基本使用JTAG的模式下可以直接使用SWD模式的,前提是仿真器支持。
2)在GPIO口刚好缺一个的时候,可使用SWD仿真,这种模式支持更少的引脚;
3)在PCB设计体积有限的时候推荐使用SWD模式。

标准 20 针 JTAG/SWD 接口电路 (基于正点原子精英开发板)

STM32笔记(4)ST-LINK调试介绍_第1张图片
相关调试端口脚:
STM32笔记(4)ST-LINK调试介绍_第2张图片

keil5中使用ST-LINK调试(SWD模式)

1.安装 ST-LINK 的驱动 ,用相应USB线将设备,ST-LINK,开发板连接,并用灰排线连接 ST-LINK 和开发板的 JTAG接口。(JTAG和SWD两种调试是共用接口)
2.打开需要调试的工程,点击魔术棒 ,打开 Options for Target 选项卡,在 Debug 栏选择仿真工具为 ST-Link Debugger,并勾选 Run to main() 。
STM32笔记(4)ST-LINK调试介绍_第3张图片
3.点击Settings,来设置 ST-LINK 的一些参数 ,选择SW 模式。 Max Clock 设置为最大的4MHz。

STM32笔记(4)ST-LINK调试介绍_第4张图片
4.在 Utilities 选项卡里面设置下载时的目标编程器
STM32笔记(4)ST-LINK调试介绍_第5张图片
5.后点击 Settings, 进入 FLASH 算法设置 ,选中 Reset and Run 选项

STM32笔记(4)ST-LINK调试介绍_第6张图片
6.之后经过编译再点击keil中的LOAD按钮,程序即可下载。
STM32笔记(4)ST-LINK调试介绍_第7张图片

你可能感兴趣的:(STM32学习之旅)