文章
博客 网店

 ST-Link/V2 SWD接口调试STM32F0


1.首先了解一下STM32F0的串口下载(BOOT)功能


  STM32F0 通过BOOT0引脚和选项字节中的nBOOT1位来选择复位地址,如下图:
  

 当BOOT0引脚接地时无论nBOOT1位的值是什么都会从主Flash开始执行程序
 当BOOT0引脚接高,如果nBOOT1配置为1,则从SRAM开始执行程序
 如果nBOOT1配置为0,则运行系统BOOT程序,此时可以从USART口下载(烧写)Flash程序。
 由于nBOOT1位出厂默认值是1,所以无论BOOT0引脚接高还是接地都不会执行系统BOOT,所以我们可以认为,全新的STM32F0芯片是无法直接通过USART下载程序的,这一点是与stm32f1是有区别的。

2.SWD接口连接


  既然BOOT无法为芯片第一次烧录程序,那么SWD是STM32F0芯片唯一的烧录方式了(因为此芯片也不支持JTAG)。
  ST-Link/V2 SWD连接目标器件的连接图如下:
  

有几个注意事项:
(1)据网上资料显示NRTS可以不接,但我没有试过;为了可能的兼容性我的转接板保留了这个信号;
(2)VDD与STLink的1脚是需要连接的,否则找不到器件,ST-LINK会认为目标器件没有上电,为了保险起见我串了一个电阻,这个电阻是否必要有待考证,但经测试加上是没有什么问题的。
(3)目标器件的BOOT0脚要拉低,否则是连接不上的,原因不祥,但想想也是合理的,因为调试时是在FLASH内执行的。

3.工具软件


 (1)在Keil MDK开发环境下可以直接使用SWD调试,在项目设置对话框中选择ST-Link并调试选择SW模式即可;
 (2)如果仅用于下载程序可以使用STM32 ST-LINK Utility这个工具,此工具可从ST官网上免费下载,软件包名称是STST-LINK004
直接在ST官网搜索STM32 ST-LINK Utility即可找到这个软件包。此工具还可以升级ST-Link/V2的固件,调试M0时应将ST-Link/V2的
固件升级至最新。

芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved