STM32-下载代码uvision出现的错误汇总

​根据官方文档,STM32下载代码有三种方式:

由于SRAM为静态存储器,关机后不能保存代码,故多采用前两种方法(主Flash及系统存储器)下载代码。

一、主flash下载代码

即通过ST-LINK下载,步骤如下

  1. 将ST-LINK V2如下引脚连接至主芯片对应SW下载引脚

   2. 配置uvision界面,依次点击魔术棒—debug—选中ST-LINK Debugger—settings

!!!注意:接下来SWDIO这里可能会出现各种问题

  • 出现“NO ST-LINK detected”,表明电脑未检测到ST-LINK设备,请确认设备USB连接线可以正常使用且ST-LINK驱动已正常安装(在设备管理器的通用串行总线设备处查看,正常如下图所示),如果正常,建议更换ST-LINK设备进行尝试。

  • 出现“No Target Connected”,表示设备连接有问题,建议先检查杜邦线连接是否松动(杜邦线连接很容易不稳定!!!),确认无误后,请考虑是否硬件设计是否存在问题。

  • 出现“Internal command error”,我遇到的问题是,BOOT未下拉至GND。在SW调试下载模式下,BOOT0必须要下拉至GND,手边有万用表最好测一下BOOT0引脚电压是否正常。网上也有很多关于该问题的解决方法,可以动手搜一下。总结一下主要方法,更新STLINK固件、检查先前代码是否有启用睡眠模式、手动拉低RESET。
  • 正常情况是这样滴

  1. 结束了?并没有!!!
  2. 编译完代码,点击load又有可能出现“Could not stop cortex-m device! Please check the JTAG cable NRST”的弹窗。。。惊不惊喜?意不意外?(王宝强脸。。。)这个时候请检测NRST电压是否正常,我的板子检测出NRST引脚输出是1.2V,一直无法下载。去掉外部电阻电容还是1.2,而另一个板子输出正常,原来是芯片这个引脚坏了,手动上拉到VCC可以下载代码了,然而下载完成后,单片机并没有输出理想的结果。
  3. 至此,本菜鸟的第一次下载代码告一段落。

二、系统存储器下载代码

@@声明:本部分参考正点原子开发板教程

硬件电路

实现步骤:

  1. BOOT0连接到VCC,BOOT1连接至GND
  2. 按复位键(NRST下拉到地)
  3. 下载代码
  4. 完成后BOOT0连接至GND
  5. 按复位键(NRST下拉到地)

正点原子也给出了另一种比较方便的设计,专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动配置BOOT0 和 RST 信号 ,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制。配合flymcu使用。具体方法网上很多,建议动手多搜搜。这里给出一键下载的原理图,仅供参考。

以上就是本菜鸟这次下载代码遇到的问题,分享出来供大家参考,如有不正确的地方,还请各位大佬多多指正。

版权声明:本文为CSDN博主「YM_纸飞机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Rema_Tain/article/details/122843034

​根据官方文档,STM32下载代码有三种方式:

由于SRAM为静态存储器,关机后不能保存代码,故多采用前两种方法(主Flash及系统存储器)下载代码。

一、主flash下载代码

即通过ST-LINK下载,步骤如下

  1. 将ST-LINK V2如下引脚连接至主芯片对应SW下载引脚

   2. 配置uvision界面,依次点击魔术棒—debug—选中ST-LINK Debugger—settings

!!!注意:接下来SWDIO这里可能会出现各种问题

  • 出现“NO ST-LINK detected”,表明电脑未检测到ST-LINK设备,请确认设备USB连接线可以正常使用且ST-LINK驱动已正常安装(在设备管理器的通用串行总线设备处查看,正常如下图所示),如果正常,建议更换ST-LINK设备进行尝试。

  • 出现“No Target Connected”,表示设备连接有问题,建议先检查杜邦线连接是否松动(杜邦线连接很容易不稳定!!!),确认无误后,请考虑是否硬件设计是否存在问题。

  • 出现“Internal command error”,我遇到的问题是,BOOT未下拉至GND。在SW调试下载模式下,BOOT0必须要下拉至GND,手边有万用表最好测一下BOOT0引脚电压是否正常。网上也有很多关于该问题的解决方法,可以动手搜一下。总结一下主要方法,更新STLINK固件、检查先前代码是否有启用睡眠模式、手动拉低RESET。
  • 正常情况是这样滴

  1. 结束了?并没有!!!
  2. 编译完代码,点击load又有可能出现“Could not stop cortex-m device! Please check the JTAG cable NRST”的弹窗。。。惊不惊喜?意不意外?(王宝强脸。。。)这个时候请检测NRST电压是否正常,我的板子检测出NRST引脚输出是1.2V,一直无法下载。去掉外部电阻电容还是1.2,而另一个板子输出正常,原来是芯片这个引脚坏了,手动上拉到VCC可以下载代码了,然而下载完成后,单片机并没有输出理想的结果。
  3. 至此,本菜鸟的第一次下载代码告一段落。

二、系统存储器下载代码

@@声明:本部分参考正点原子开发板教程

硬件电路

实现步骤:

  1. BOOT0连接到VCC,BOOT1连接至GND
  2. 按复位键(NRST下拉到地)
  3. 下载代码
  4. 完成后BOOT0连接至GND
  5. 按复位键(NRST下拉到地)

正点原子也给出了另一种比较方便的设计,专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动配置BOOT0 和 RST 信号 ,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制。配合flymcu使用。具体方法网上很多,建议动手多搜搜。这里给出一键下载的原理图,仅供参考。

以上就是本菜鸟这次下载代码遇到的问题,分享出来供大家参考,如有不正确的地方,还请各位大佬多多指正。

版权声明:本文为CSDN博主「YM_纸飞机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Rema_Tain/article/details/122843034

生成海报
点赞 0

YM_纸飞机

我还没有学会写个人说明!

暂无评论

相关推荐

2021年终总结

年终总结 CSDN的评委好,各位同仁好! 2021年,我担任嵌入式软件开发工程师一职,具体汇报如下: 一、2021年度工作完成情况 在现有的TDOA定位基站和标签的基础上

Verilog实现按键消抖

Verilog实现按键消抖 一、简介 我们在进行按键的时候往往会发生抖动的现象。 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地