刚接触stm32f4时发现程序烧录进去没运行的问题

文章讲述了在STM32开发过程中遇到的烧录问题,特别是STLink和DAP烧录时需要保持Boot0为0才能成功运行程序。错误地将STM32的复位脚连接到STLink的复位脚导致问题,实际上应避免影响Boot0的状态。同时,提到长按RST的烧录方法和串口烧录作为解决问题的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一

本文主要参考以下两篇文章 

bbhttps://blog.youkuaiyun.com/weixin_35779001/article/details/112037894icon-default.png?t=N7T8https://blog.youkuaiyun.com/weixin_35779001/article/details/112037894https://blog.youkuaiyun.com/a919964703/article/details/124072915icon-default.png?t=N7T8https://blog.youkuaiyun.com/a919964703/article/details/124072915

/*实际上是stlink的接线问题,一开始我将stm32的复位脚接到stlink的reset脚,一直运行不了,忘记在哪里看到说f4的stlink复位引脚已经硬件拉高需要我们手动置低,即接GND或者不接即可。*/

以上的方法是正确的,但理解的原因确实错误的,经过下文对boot1和boot0的学习,我回去翻看了该开发板的原理图(stm32f411)他stlink连接的引脚Reset连接的是boot0,然后我测试了stlink运行时reset引脚输出的是高电平,所以所有的问题都浮出水面,当我连接了reset引脚时boot0一直为1所以stlink烧录完成后不能运行。


以上是我在上一块板子(stm32f411cet6)时第一次烧录程序遇到的问题,当时就像这样一知半解,糊里糊涂的解决了这个问题,以为我已经解决了,但深层原因并没有理解,直至最近又运用上了一块新的板子(stm32f4zgt6)又遇到了同样的情况,不过这次用的是DAP烧录。花了我好久都不能解决这个问题。最后发现是单片机boot引脚的问题,厂家出厂的时候将boot0与3.3v引脚用盖帽短接,导致程序不能运行,再深入了解了单片机烧录程序与boot0,boot1引脚的关系后,发现可以归类为一类问题。就是在DAP、stlink、J-link等烧录的时候boot0要始终为0。boot0与boot1与单片机的关系如下图所示。

 简单的来说

使用串口烧录程序时需要将boot0置1,boot1置0

使用DAP等烧录工具进行烧录时需要将boot0置0才行

下图也可以跟直观的看出,J-link的情况我照搬到DAP上试过也同样适用。

方法二

网上有方法说长按RST,点击编译后再松开

这种方法的原理是,屏蔽里面原有的代码

因为原有的代码将SWJ调试端口关闭了

我长按RST后他的代码不运行,当我们松开的瞬间SWJ调试端口立即被占用,就会重新刷新单片机中的代码就可以了。

方法三

使用串口烧录将原有的关闭了SWJ调试端口的代码覆盖掉就好了

引用\[1\]:STM32的串口下载一般是通过串口1进行的,但探索者STM32F4开发板通过自带的USB串口进行下载。实际上,它是通过USB转换成串口来进行下载的。引用\[2\]:要通过串口下载STM32代码,需要将B0引脚接到V3.3,同保持B1引脚接地。然后按下复位按钮即可进行串口下载。下载完成后,如果有设置从0X08000000开始运行,则代码不会立即运行。此,需要将B0引脚重新接地,然后再按一次复位按钮,代码才会开始运行。引用\[3\]:要进行STM32串口下载,需要准备串口转TTL模块、STM32单片机、杜邦线等工具。通过mcuisp软件进行下载,首先执行1、2、3步骤,然后搜索串口并选择波特率为256000。接下来,选择一个hex文件并点击开始编程即可进行下载。下载完成后,界面会显示下载完成的信息。如果STM32串口下载无法进行,可能是连接问题或者软件设置问题。请检查串口连接是否正确,确保引脚连接正确并且波特率设置正确。另外,也可以尝试重新安装mcuisp软件或者使用其他下载软件进行尝试。 #### 引用[.reference_title] - *1* *2* [学习笔记三(STM32串口程序下载&新建工程模板)](https://blog.youkuaiyun.com/qq_64531765/article/details/125009781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32串口下载程序](https://blog.youkuaiyun.com/lengyuefeng212/article/details/104178386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值