STM32

hardware setup

ST-LINK v2

SWCLK (clock) ; SWDIO (data input & output) ; power supply (for the micro chip) you can find the corresponding pins on stm32 chip (SWCLK SWDIO)

SWCLK pull low externally (link to GND); SWDIO pull high

for JTAG , pins are same (正点原子 STM32F1 的板子)

在这里插入图片描述

you can also find SWDIO is pulled up while SWCLK is pulled down.

Degub protoptype (JTAG / SWD)

https://blog.csdn.net/LEON1741/article/details/72846434

JTAG 是芯片内部的测试协议。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:

TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;

TCK:测试时钟输入;

TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;

TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;

SWD,串行调试(Serial Wire Debug), 更少的引脚(4 个), 大数据下更稳定。

在这里插入图片描述

可以看到对上面正点原子的板子, SWD 与 JTAG 共用了一个口

SWD 相比于 JTAG 使用接口更少,只需要 SWDIO, SWCLK, VCC, GND 四根线(stm32f103-minimum 上的四个借口)

仿真器

jlink

基于 JTAG 仿真,面对计算机采用 USB 口, 对板仍然采用 JTAG 口

ST - link

专门针对 ST 公司的芯片, 可以烧写,仿真,下载。 st-link v2 对于 JTAG 和 SWD 是通用的,在 Keil 可以随意选择。

烧写

  • openocd

参见 nuttx 中 openocd 安装与烧写方法

openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c