1、STM32/8调试接口
STM32/8的调试接口主要包括3种方式:
(1)J-LINK方式
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,与IAR,Keil等编译环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。其接口方式分别为JTAG模式和SWD模式,点位定义分别如下:
从图中可以看出J-LINK方式中的SWD的SWDIO(SWDAT)与JTAG中的TMS复用,SWD的SWCLK与JTAG中的TCLK复用。J-LINK仿真器为ARM的通用仿真器。
(2)ST-LINK/V2 SWIM方式
ST-LINK/V2是ST公司为评估、开发STM8系列和STM32系列MCU而设计的集成了在线仿真与下载为一体的开发工具,其中STM8系列通过SWIM接口与ST-LINK/V2连接,STM32系列通过JTAG/SWD接口与ST-LINK/V2连接,而ST-LINK/V2通过USB口与PC机连接。实物如下图所示,注意与ST-LINK/V2-ISOL的区别,ST-LINK/V2-ISOL少了SWIM接口(ST-LINK/V2-ISOL的SWIM口在20Pin的接口上,复用)。
当使用的MCU为STM8系列时,只能通过SWIM接口与ST-LINK/V2相连,SWIM的接口为ST-LINK/V2中间的四线接口,点位定义如下:
仿真器端口 | 连接目标板 | 功能 |
---|---|---|
1. VDD | MCU VCC | 连接STM8目标板的电源VCC |
2. DATA | MCU SWIM pin | 连接STM8目标板的SWIM PIN |
3. GND | GND | 连接STM8目标板的电源GND |
4. RESET | MCU RESET pin | 连接STM8目标板的RESET PIN |
使用ST-LINK/V2-ISOL时,其SWIM接口与20Pin连接器复用,复用关系如下
(3)ST-LINK/V2 JTAG/SWD方式
ST-LINK/V2的JTAG/SWD接口,一般用于STM32系列MCU的调试、烧录等长和,其接口复用在20Pin的接口上,该20Pin接口点位如下
(a)当使用JTAG接口时,需将VCC、GND、JNTRST、JTDI、JTMS、JTCK、JTDO、NRST接上,共计8个点。
(b)当使用SWD接口时,必须接上VCC、GND,SWDIO(复用JTMS)、SWCLK(复用JTCK),共计4个点。NRST信号为可选,如果接上,则可通过ST-LINK复位MCU。
通过SWD接口,可以调试、下载、烧录STM32系列MCU。
2、STM32开发环境
3、STM32主要系列选型
4、STM32替代芯片
5、注意事项
(1)STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法:
(a)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
(b)对于少于100脚的产品,有2种接法:
1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。
2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出'0'。此方法可以减小功耗并(相对上面2.1)节省2个外部电阻。
5、调试过程中的问题记录
(1)遇到read/write没有许可的问题,修改debug选项页。
(2)出现load按钮为灰色的时候,需要将debug选项中的use改为use硬件Jlink等