当前位置: 首页 > article >正文

STM32程序运行不了,仿真功能也异常,连断点和复位都异常了

先检查有没有出现复位引脚rst短接0的情况

 

在检查是否出现明明没配置该外设你却偏偏要使用的情况,比如串口没配置你却偏要发送,引脚没配置你却偏要读取

这几个可能最好的办法就是从开头一行一行注释再运行看看能不能跑起来

还可以用以下方法

 检查硬件连接

  • 调试接口:确保JTAG/SWD接口(如SWDIO、SWCLK)连接正确且接触良好,检查线缆是否损坏。

  • 电源供应

    • 测量VDD电压是否为3.3V(或其他标称值),确保电源无噪声或跌落。

    • 检查所有电源滤波电容是否焊接正常,尤其是靠近芯片的退耦电容。

  • 复位电路:确认复位引脚(NRST)未短路或虚焊,复位按钮是否正常工作。


2. 验证调试器配置

  • IDE设置

    • 在Keil、STM32CubeIDE等工具中,确认调试器类型(如ST-Link)和接口模式(SWD/JTAG)选择正确。

    • 尝试降低SWD时钟频率(如从4MHz降至1MHz),避免通信不稳定。

  • 驱动问题

    • 更新ST-Link/V2驱动,或尝试重新安装驱动。

    • 更换另一台电脑或调试器,排除主机兼容性问题。


3. 检查程序与芯片配置

  • 时钟源配置

    • 确认程序初始化代码中时钟源(HSI/HSE)配置正确,外部晶振是否起振(可用示波器测量)。

    • 若使用HSE(外部晶振),检查负载电容是否匹配(通常为8-22pF)。

  • 内存与链接脚本

    • 检查链接脚本(.ld文件)中的FLASH和RAM地址范围是否与芯片型号匹配。

    • 确认堆栈大小(Stack Size)和堆大小(Heap Size)设置合理,避免溢出。

  • 中断与异常

    • 添加HardFault_Handler的调试代码,捕获异常原因(如通过调用栈分析)。

    • 检查是否所有使用的中断服务函数(ISR)均已正确实现且未冲突。


4. 芯片保护状态与选项字节

  • 写保护/读保护

    • 使用STM32CubeProgrammer或ST-Link Utility连接芯片,检查选项字节(Option Bytes)中的读保护(RDP)和写保护(WRP)状态。

    • 若保护已启用,需先解除保护(可能需要全片擦除)。

  • 芯片复位状态

    • 手动复位芯片后,检查是否能进入正常模式,排除看门狗(IWDG/WWDG)误触发导致的复位循环。


5. 程序下载与启动模式

  • 启动模式配置

    • 确认BOOT0和BOOT1引脚电平正确(通常BOOT0=0从FLASH启动)。

    • 若程序未正确下载,尝试通过串口或DFU模式重新烧录。

  • 程序入口点

    • 检查程序是否从正确的复位向量(Reset_Handler)启动,确认中断向量表地址与FLASH起始地址一致。

http://www.lryc.cn/news/2392556.html

相关文章:

  • Linux 系统中的软链接与硬链接
  • Python爬虫第22节- 结合Selenium识别滑动验证码实战
  • 【C/C++】chrono简单使用场景
  • Escrcpy(安卓手机投屏软件) v1.29.6 中文绿色版
  • Oracle MOVE ONLINE 实现原理
  • Linux:深入理解网络层
  • 【设计模式】简单工厂模式,工厂模式,抽象工厂模式,单例,代理,go案例区分总结
  • Linux_编辑器Vim基本使用
  • vue展示修改前后对比,并显示修改标注diff
  • LiveWallpaperMacOS:让你的 Mac 桌面动起来
  • [预训练]Encoder-only架构的预训练任务核心机制
  • 07-后端Web实战(部门管理)
  • mysql ACID 原理
  • [Rust_1] 环境配置 | vs golang | 程序运行 | 包管理
  • 二十五、面向对象底层逻辑-SpringMVC九大组件之HandlerMapping接口设计
  • 构建安全高效的邮件网关ngx_mail_ssl_module
  • HUAWEI交换机配置镜像口验证(eNSP)
  • 前端vue3实现图片懒加载
  • 网站每天几点更新,更新频率是否影响网站收录
  • 主流Markdown编辑器的综合评测与推荐
  • 计算机网络-MPLS VPN应用场景与组网
  • AugmentFree:解除 AugmentCode 限制的终极方案 如何快速清理vscode和AugmentCode缓存—windows端
  • WPF【11_7】WPF实战-重构与美化(ViewModel的嵌套与分解、海量数据不要Join)
  • Linux 的编辑器--vim
  • Oracle 慢sql排查
  • [Protobuf] 快速上手:安全高效的序列化指南
  • uniapp开发企业微信小程序时 wx.qy.login 在uniapp中使用的时候,需要导包吗?
  • 如何将通话记录从Android传输到Android
  • Word 目录自动换行后错位与页码对齐问题解决教程
  • 数据结构第4章 栈、队列和数组 (竟成)