文章目录[隐藏]
根据官方文档,STM32下载代码有三种方式:
由于SRAM为静态存储器,关机后不能保存代码,故多采用前两种方法(主Flash及系统存储器)下载代码。
一、主flash下载代码
即通过ST-LINK下载,步骤如下
- 将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可以下载代码了,然而下载完成后,单片机并没有输出理想的结果。
- 至此,本菜鸟的第一次下载代码告一段落。
二、系统存储器下载代码
@@声明:本部分参考正点原子开发板教程
硬件电路
实现步骤:
- BOOT0连接到VCC,BOOT1连接至GND
- 按复位键(NRST下拉到地)
- 下载代码
- 完成后BOOT0连接至GND
- 按复位键(NRST下拉到地)
正点原子也给出了另一种比较方便的设计,专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动配置BOOT0 和 RST 信号 ,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制。配合flymcu使用。具体方法网上很多,建议动手多搜搜。这里给出一键下载的原理图,仅供参考。
以上就是本菜鸟这次下载代码遇到的问题,分享出来供大家参考,如有不正确的地方,还请各位大佬多多指正。
版权声明:本文为CSDN博主「YM_纸飞机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Rema_Tain/article/details/122843034
暂无评论