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的
固件升级至最新。
 

 

本站广告:
  ENC28J60+uIP 基于TCP的MODBUS IO示例
  ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
  ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
  C720H5上实现MODBUS远程IO
  FM1702读写S50(也叫M1)卡相关资料
  SYN480R+MCU实现遥控开关示例
  STM8S003学习型红外软解码遥控开关
  STM8S003学习型射频软解码遥控开关
  STM32通过TF卡(sd/mmc)升级程序

 

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2020 ChipArt Studio All Rights Reserved