4.STM32下载不进程序、程序不运行的可能原因

这篇博客针对新手在STM32开发中遇到的程序无法下载或运行的问题,提供了详细的排查步骤。从检查电脑和下载器的连接,到确认电路板、编程算法和芯片状态,再到分析程序代码可能存在的问题,覆盖了硬件和软件多个层面。同时,提到了晶振、复位、Boot等关键电路的影响,并强调了环境配置如DFP安装和Flash算法匹配的重要性。

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

STM32作为使用相当广泛的一种单片机,在产品开发方面也有大量应用,新手少不了遇到各种下不进程序的可能原因,可按以下几项挨个检测(基于keil和STlink的开发环境)

 

万金油瞎试解决法:

1.拔掉下载器重插(既包括下载器同芯片、也包括下载器同电脑)

2.按着复位点下载,点完下载松开

3.上电后复位下看看跑不跑,有可能没设置reset and run

4.有核心板的话把核心板从底板上拆下来只对核心板下载试试

5.芯片断电再上电(重启)

6.在线调试试试能不能跑,有时在线调试能跑,板子上电自己跑不行

 

 

解决思路:

1.先看是不是下载器或电脑上keil配置的问题------先看电脑上能不能正确识别到stlink,有的话驱动没问题

2.再看是不是板子上哪里出现的问题-----看看keil能否正确识别到芯片,能则下载器连接没问题,有问题就是32的

3.看看是不是下载线的连接有问题

 

环境配置类:

1.首先检查程序是否编译通过,不能有error

2.检查flash算法是否配套,programming algorithm

   没有时会报 cannot load flash programming algorithm !(STM32)

3.是否安装对应型号芯片的DFP,即是否安装对应系列的pack包

4.STlink是否正确连接(有的USB线里面没有数据线,只能充电),是否有驱动,电脑设备管理器中是否有STlink设备(不带感叹号的)

5.出现STlink  connect error -----拔掉下载器,重插(同电脑间的连接)

 

电路问题:

1.下载接口短路到别的地方,或直接没有焊接到别的接口

2.复位电路有问题,上电没有拉到对应电平,拆掉复位电路

3.boot电路不行可以下程序,但是运行不了

4.晶振电路不行有时可以下程序,但是程序运行不正常

5.程序里面有对晶振频率的定义,程序和晶振不对应会导致运行不正常,引脚电平无法控制

6.单片机有没有烧掉,3.3v和负极导通基本宣判死刑,这是肯定下不进程序

7.芯片其他引脚焊接,供电是否正常

8.假芯片等等其他可能的原因

 

编程问题:

1.程序不运行卡死:可能原因很多,只写能想到的

2.之前用官方库:串口初始化后直接用中间不加延时不行,会卡死

3.使用特定模块上电不运行,之前用过假芯片,使用tim3,一种芯片上电就能跑,另一个货源的上电不跑

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值