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

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,一种芯片上电就能跑,另一个货源的上电不跑

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32程序运行时,通常可以通过以下步骤来原因: 1. 检查硬件连接:确保STM32芯片正确连接到电源和调试器。确保电源稳定,并且芯片上的电源和接地引脚正确连接。 2. 检查程序代码:仔细检查程序代码,确保没有语法错误或逻辑错误。特别注意初始化和配置的部分,以及中断相关的部分。 3. 检查芯片的配置和时钟设置:确保芯片的配置和时钟设置正确。如果时钟设置不正确,程序可能无法运行。 4. 使用调试工具:使用调试器来检查程序运行情况。通过单步调试,可以逐行查看程序的执行情况,发现可能的错误。 5. 检查外设配置:如果程序中使用了外设,比如UART、SPI、I2C等,确保这些外设的配置正确。检查引脚连接、寄存器配置等,确保外设能正常工作。 6. 屏蔽中断和复位芯片:如果程序在启动时无法运行,可以尝试屏蔽中断,并执行芯片的复位操作。这样可以排除中断导致的问题。 7. 检查时序和信号:使用示波器或逻辑分析仪,检查时序和信号是否符合预期。特别注意时钟信号、复位信号、引脚信号等。 8. 检查库函数使用:如果使用了库函数,确保库函数的版本和设置正确。有些库函数需要特定的配置才能正常工作。 总结起来,查STM32程序运行原因需要综合考虑硬件连接、程序代码、芯片配置、时钟设置、外设配置等因素,通过调试工具和仪器来分析和排除可能的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值