当前位置: 首页 > 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起始地址一致。

相关文章:

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

先检查有没有出现复位引脚rst短接0的情况 在检查是否出现明明没配置该外设你却偏偏要使用的情况,比如串口没配置你却偏要发送,引脚没配置你却偏要读取 这几个可能最好的办法就是从开头一行一行注释再运行看看能不能跑起来 还可以用以下方法 检查硬…...

Linux 系统中的软链接与硬链接

目录 一、什么是软链接? 1. 创建软链接 2. 软链接的特性 3. 软链接的用途 二、什么是硬链接? 1. 创建硬链接 2. 硬链接的特性 3. 硬链接的用途 4. 目录硬链接的特殊性 ​编辑 三、软链接与硬链接的区别 1. inode 编号 2. 路径依赖 3. 删除行…...

Python爬虫第22节- 结合Selenium识别滑动验证码实战

目录 一、引言 二、滑动验证码原理与反爬机制 2.1 验证码原理 2.2 反爬机制 三、工程实战:滑动验证码识别全流程 3.1 工程准备 3.1.1 环境依赖 3.1.2 目标网站与验证码识别案例 3.2 核心破解流程 3.2.1 自动化打开网页与登录 3.2.2 获取验证码图片&#…...

【C/C++】chrono简单使用场景

chrono使用场景举例 1 输出格式化字符串 示例代码 auto now std::chrono::system_clock::now(); auto t std::chrono::system_clock::to_time_t(now); auto ms std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()) % 1000;std::ostrin…...

Escrcpy(安卓手机投屏软件) v1.29.6 中文绿色版

在数字设备日益普及的今天&#xff0c;用户对于设备的控制和管理需求也在不断增加。对于Android设备用户来说&#xff0c;Escrcpy这款强大的工具无疑是一个福音。它不仅提供了直观的图形化界面&#xff0c;让用户能够轻松显示和控制自己的Android设备&#xff0c;还以完全免费开…...

Oracle MOVE ONLINE 实现原理

Oracle MOVE ONLINE 实现原理 Oracle 的 MOVE ONLINE 操作是一种在线重组表的技术&#xff0c;允许在不中断业务的情况下重新组织表数据。以下是其实现原理的详细分析&#xff1a; 基本概念 MOVE ONLINE 是 Oracle 12c 引入的特性&#xff0c;用于替代传统的 ALTER TABLE ..…...

Linux:深入理解网络层

网络层在复杂的网络环境中确定一个合适的路径.传输到指定的网络中 一、网络层的理解 问题1&#xff1a;为什么要有网络层的概念呢&#xff1f;&#xff1f; ——>我们先来讲一个故事&#xff1a; 假设我在学校里被誉为数学大神&#xff0c;是因为我的数学有考满分的能力&…...

【设计模式】简单工厂模式,工厂模式,抽象工厂模式,单例,代理,go案例区分总结

工厂模式三种类型&#xff1a; 一、简单工厂模式&#xff08;Simple Factory&#xff09; 定义&#xff1a; 用一个工厂类&#xff0c;根据传入的参数决定创建哪一种具体产品类实例。 面试说法&#xff1a; 由一个统一的工厂创建所有对象&#xff0c;增加新产品时需要修改工…...

Linux_编辑器Vim基本使用

✨✨ 欢迎大家来到小伞的大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;LInux_st 小伞的主页&#xff1a;xiaosan_blog 制作不易&#xff01;点个赞吧&#xff01;&#xff01;谢谢喵&#xff01;&a…...

vue展示修改前后对比,并显示修改标注diff

动态父组件 <template><el-buttontype"primary"size"small"plainclick"showDiffDialog(subItem)">查看修改内容</el-button><TextDiffDialogv-model:visible"diffDialogVisible":before"currentDiffItem?.…...

LiveWallpaperMacOS:让你的 Mac 桌面动起来

随着桌面美化需求的不断提升,用户对于桌面壁纸的要求已经不再局限于静态图片。越来越多的 Mac 用户希望桌面能像 Windows 一样,拥有动态壁纸,展现个性、提升体验。LiveWallpaperMacOS 正是这样一款让你的 Mac 桌面焕发活力的开源项目。 本文将详细介绍 LiveWallpaperMacOS …...

[预训练]Encoder-only架构的预训练任务核心机制

原创文章1FFN前馈网络与激活函数技术解析&#xff1a;Transformer模型中的关键模块2Transformer掩码技术全解析&#xff1a;分类、原理与应用场景3【大模型技术】Attention注意力机制详解一4Transformer核心技术解析LCPO方法&#xff1a;精准控制推理长度的新突破5Transformer模…...

07-后端Web实战(部门管理)

5. 修改部门 对于任何业务的修改功能来说&#xff0c;一般都会分为两步进行&#xff1a;查询回显、修改数据。 5.1 查询回显 5.1.1 需求 当我们点击 "编辑" 的时候&#xff0c;需要根据ID查询部门数据&#xff0c;然后用于页面回显展示。 5.1.2 接口描述 参照参照…...

mysql ACID 原理

序言&#xff1a;ACID 是一组数据库设计原则&#xff0c;他是业务数据和关键业务程序的可靠性保障。 1、atomicity&#xff08;原子性&#xff09; 依赖如下能力 autocommit commit rollback2、一致性 2.1 double write buffer 1、定义&#xff1a;double write buffer 是…...

[Rust_1] 环境配置 | vs golang | 程序运行 | 包管理

目录 Rust 环境安装 GoLang和Rust 关于Go 关于Rust Rust vs. Go&#xff0c;优缺点 GoLang的优点 GoLang的缺点 Rust的优点 Rust的缺点 数据告诉我们什么&#xff1f; Rust和Go的主要区别 (1) 性能 (2) 并发性 (3) 内存安全性 (4) 开发速度 (5) 开发者体验 Ru…...

二十五、面向对象底层逻辑-SpringMVC九大组件之HandlerMapping接口设计

一、引言&#xff1a;MVC架构的交通枢纽 在Spring MVC框架中&#xff0c;HandlerMapping接口扮演着"请求导航仪"的关键角色&#xff0c;它决定了HTTP请求如何被路由到对应的Controller处理器。作为MVC模式的核心组件之一&#xff0c;HandlerMapping在请求处理的生命…...

构建安全高效的邮件网关ngx_mail_ssl_module

一、快速上手&#xff1a;最小配置示例 worker_processes auto;mail {server {# 监听 IMAP over TLSlisten 993 ssl;protocol imap;# TLS 协议与密码套件ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;# 证书与私钥ssl_…...

HUAWEI交换机配置镜像口验证(eNSP)

技术术语&#xff1a; 流量观察口&#xff1a;就是我们常说的镜像口&#xff0c;被观察的流量的引流目的端口 流量源端口&#xff1a;企业生产端口&#xff0c;作为观察口观察对象。 命令介绍&#xff1a; [核心交换机]observe-port [观察端口ID或编号&#xff08;数字&am…...

前端vue3实现图片懒加载

场景和指令用法 场景:电商网站的首页通常会很长&#xff0c;用户不一定能访问到页面靠下面的图片&#xff0c;这类图片通过懒加载优化手段可以做到只有进入视口区域才发送图片请求 核心原理:图片进入视口才发送资源请求 首先&#xff1a;我们需要定义一个全局的指令&#x…...

网站每天几点更新,更新频率是否影响网站收录

1. 每天几点更新网站最合适&#xff1f;总怕时间选错影响收录&#xff1f; 刚开始搞网站的时候&#xff0c;是不是老纠结啥时候更新合适&#xff1f;早上刚上班&#xff1f;半夜没人的时候&#xff1f;选不对时间&#xff0c;总担心搜索引擎爬虫来了没抓到新内容&#xff0c;影…...

主流Markdown编辑器的综合评测与推荐

根据2025年最新资料&#xff0c;结合功能特性、用户体验和技术适配性&#xff0c;以下是对主流Markdown编辑器的综合评测与推荐&#xff1a; 一、核心对比维度与评估方法 功能完整性&#xff1a;支持数学公式、流程图、代码高亮等复杂格式。跨平台兼容性&#xff1a;Windows/m…...

计算机网络-MPLS VPN应用场景与组网

上一篇文章我们通过一个基础实验实现了企业分支间的MPLS VPN互联&#xff0c;如果还不理解的可以多看几遍前面的文章或者多敲下实验。今天来学习几种常见的MPLS VPN应用场景与这些场景下MPLS VPN的部署方法。 一、MPLS VPN典型应用 目前&#xff0c;MPLS VPN的主要应用包括企…...

AugmentFree:解除 AugmentCode 限制的终极方案 如何快速清理vscode和AugmentCode缓存—windows端

AugmentFree1.0工具包&#xff1a;解除 AugmentCode 免费试用限制的终极方案 Augment VIP 是一个专为 VS Code 用户设计的实用工具包&#xff0c;旨在帮助用户管理和清理 VS Code 数据库&#xff0c;解除 AugmentCode 免费试用账户的限制。 augment从根源上解决免费额度限制问…...

WPF【11_7】WPF实战-重构与美化(ViewModel的嵌套与分解、海量数据不要Join)

11-12 【重构】ViewModel的嵌套与分解 目前我们的代码中有一个不易发现的致命问题&#xff0c;如果工作中这样写代码大概率会被打回去重做。那么这个问题是什么呢&#xff1f; --\ViewModels\MainViewModel.cs 视图模型中的 LoadCustomers() 方法&#xff0c;考虑一下在这里我…...

Linux 的编辑器--vim

1.Linux编辑器-vim使⽤ vi/vim的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本&#xff0c;它不仅兼容vi的所有指令&#xff0c;⽽且还有⼀些新的特性在⾥⾯。例如语法加亮&#xff0c;可视化操作不仅可以在终端运⾏&#xff0c;也可以…...

Oracle 慢sql排查

Oracle慢sql排查步骤 1.1. 前言 Oracle 慢查询的排查方向包括以下几个方向 : 基准测试 (吞吐量): 包括 Oracle 本身吞吐量和磁盘 I/O 吞吐量硬件分析 (资源情况): 包括查看服务器 CPU , 硬盘的使用情况SQL分析&#xff1a;分析 SQL 中是否存在慢查询 , 是否命中索引配置优化…...

[Protobuf] 快速上手:安全高效的序列化指南

标题&#xff1a;[Protobuf] (1)快速上手 水墨不写bug 文章目录 一、什么是protobuf&#xff1f;二、protobuf的特点三、使用protobuf的过程&#xff1f;1、定义消息格式&#xff08;.proto文件&#xff09;(1)指定语法版本(2)package 声明符 2、使用protoc编译器生成代码&…...

uniapp开发企业微信小程序时 wx.qy.login 在uniapp中使用的时候,需要导包吗?

在 UniApp 中使用 “wx.qy.login” 不需要手动导包&#xff0c;但需要满足以下条件&#xff1a; 一、环境要求与配置 1&#xfffd; 企业微信环境判断 必须确保当前运行环境是企业微信客户端&#xff0c;通过 “uni.getSystemInfoSync().environment” 判断是否为 “wxwork”…...

如何将通话记录从Android传输到Android

“如何将通话记录从 Android 转移到 Android&#xff1f;我换了一部新的 Android 手机&#xff0c;想要将通话记录复制到其中。”您需要将通话记录从 Android 传输到 Android 是一种常见的情况&#xff0c;因为通话记录是手机上最重要的数据之一。幸运的是&#xff0c;如果您从…...

Word 目录自动换行后错位与页码对齐问题解决教程

&#x1f4d8; Word 目录自动换行错位与页码对齐问题解决教程 &#x1f3af; 目标效果 目录条目过长自动换行后&#xff0c;第二行左对齐整齐&#xff1b;页码始终靠右对齐&#xff0c;前方带有“……”引导符&#xff1b;解决页码错位、制表符消失或格式混乱问题。 &#x1…...