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

本文详述了STM32通过ST-LINK和系统存储器两种方式下载代码的过程,包括常见问题及解决办法。在ST-LINK下载中,可能遇到的挑战如NOST-LINK、NoTargetConnected、Internalcommanderror等,并提供了相应的排查方案。系统存储器下载则需要特定的硬件配置和步骤。博主分享了实际操作中的经验,提醒注意BOOT和NRST引脚的状态,以及硬件连接的稳定性。
摘要由CSDN通过智能技术生成

​根据官方文档,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。
  • 正常情况是这样滴

  • 结束了?并没有!!!
  • 编译完代码,点击load又有可能出现“Could not stop cortex-m device! Please check the JTAG cable NRST”的弹窗。。。惊不惊喜?意不意外?(王宝强脸。。。)这个时候请检测NRST电压是否正常,我的板子检测出NRST引脚输出是1.2V,一直无法下载。去掉外部电阻电容还是1.2,而另一个板子输出正常,原来是芯片这个引脚坏了,手动上拉到VCC可以下载代码了,然而下载完成后,单片机并没有输出理想的结果。
  • 至此,本菜鸟的第一次下载代码告一段落。
  • ******************************************
  • 增加CUBE中容易的一个问题,进入调试模式后,经常出现” Cannot Access Target, Shutting Down Debug Session“:下图debug选项选择开启!!!!

二、系统存储器下载代码

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

硬件电路

实现步骤:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值