(二)接口
64KB SRAM、512KB FLASH、2 个 基本定时器、4 个通用定时器、2 个高级定时器、2 个 DMA 控制器(共 12 个通道)、3 个 SPI、 2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、 1 个 FSMC 接口以及 112 个通用 IO 口。
ST-Link接口定义
仿真器端口 | 连接目标板 | 功能 |
---|---|---|
1. TVCC | MCU电源VCC | 连接STM32目标板的电源VCC |
2. TVCC | MCU电源VCC | 连接STM8目标板的电源VCC |
3. TRST | GND | GROUND |
4. UART-RX | GND | GROUND |
5. TDI | TDI | 连接STM32的JTAG TDI |
6. UART-TX | GND | GROUND |
7. TMS, SWIO | TMS, SWIO | 连接STM32的JTAG的TMS, SWD的SW IO |
8. BOOT0 | GND | GROUND |
9. TCK, SWCLK | TCK, SWCLK | 连接STM32的JTAG的TCK, SWD的SW CLK |
10. SWIM | GND | GROUND |
11. NC | NC | Unused |
12. GND | GND | GROUND |
13. TDO | TDO | 连接STM32的JTAG TDO |
14. SWIM-RST | GND | GROUND |
15. STM32-RESET | RESET | 连接STM32目标板的RESET端口 |
16. KEY | NC | GROUND |
17. NC | NC | Unused |
18. GND | GND | GROUND |
19. VDD | NC | VDD (3.3V) |
20. GND | GND | GROUND |
注:
(1)板子由外部电源供电。
(2)ST-LINK只需要接TCK,TMS,GND这3根线就可以了。7、9、20
(3)J-LINK需要多接上板子上的芯片工作电源线到VT上才能正常工作。
(4)一定要注意调试器输出的电压和板子输出的电压是否有差异。
JTAG 连接模式
TVCC(1) — STM32 3.3V ; 必须连接 ST-LINK根据此调整输出电平
TRST(3)---- STM32 JNTRST
TDI(5)---- STM32 JTDI
TMS(7)---- STM32 JTMS
TCK(9)---- STM32 JTCK
TDO(13)---- STM32 JTDO
RESET(15)---- STM32 NRST
GND(20)-----STM32 GND
SWD 连接模式
TVCC(1) — STM32 3.3V ; 必须连接 ST-LINK根据此调整输出电平
SWIO(7)---- STM32 JTMS
SWCLK(9)---- STM32 JTCK
GND(20)-----STM32 GND
JTAG/SWD调试原理简析
STM32F10xxx使用CortexN-M3内核,该内核内含硬件调试模块,支持复杂的调试操作。硬件调试模块允许内核在取指(指令断点)或访问数据(数据断点)时停止。内核停止时,内核的内部状态和系统的外部状态都是可以查询的。完成查询后,内核和外设可以被复原,程序将继续执行。当STM32F10x微控制器连接到调试器并开始调试时,调试器将使用内核的硬件调试模块进行调试操作。
支持两种调试接口:
串行接口 SWD 2个接口
JTAG调试接口 5个接口
所以学了这一节我就知道了为什么需要4根线连接板子和仿真器,因为我们用的板子有4个接口,分别是GND CLK DIO 3V3,对应的则是接地 SWCLK端口引脚 SWDIO端口引脚 电源,所以在keil5里面debug界面就需要把仿真器改为ST-Link,改参数为SW。
P20 第20讲 主要讲解软件及硬件仿真调试,配合调试章节的代码使用,本节可以使用此方法来进行串口的调试监控,后面学到串口通信用的是另外一套方法。本视频2021年11月21日22:08:04还未实践操作。硬件及软件的调试实质并不相同,软件仿真只是理论上进行数据的调试,硬件仿真是实实在在的将代码烧录进板子,然后调试让板子给电脑传输数据。