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

擦除整片flash后,程序下载到单片机,单片机不运行

擦除整片Flash后,将地址0x8004000改为0x8000000重新下载,就可以运行了。

你是不是做了全片擦除? 把0x8000000地址开始自带的boot代码给擦除掉了? 若擦除了boot, 把下载首地址从0x8004000改为0x8000000。。。。。让KEIL把下载app_hex放到0x8004000首地址,是因为0x8000000有boot代码上电后会跳入0x8004000执行app代码。

若全片擦除了boot代码,需把app下载地址改为0x8000000。。。。或先烧入boot程序,再把app代码下载到0x8004000即可。 这里KEIL下载地址不同,与有没有boot代码有关系

一、Boot代码的定义与作用

​Boot代码​​(引导加载程序)是嵌入式系统中一段固化在非易失性存储器(如Flash)中的底层程序,其核心功能包括:

  1. ​硬件初始化​​:配置时钟、内存控制器、外设等基础硬件模块
  2. ​启动模式选择​​:根据硬件引脚或寄存器配置,决定从Flash、系统存储器(如STM32的BootLoader)或RAM启动
  3. ​程序加载​​:将应用程序(App)从存储介质(如Flash、网络)加载到内存(如RAM)并跳转执行
  4. ​OTA升级支持​​:接收新固件并更新到App区域,同时校验数据完整性

在STM32等MCU中,Boot代码通常位于Flash的起始地址(如0x08000000),占用少量扇区(如32KB),与用户App代码分区共存

http://www.xdnf.cn/news/2786.html

相关文章:

  • Android Kotlin ViewModel 错误处理:最佳 Toast 提示方案详解
  • java 使用 POI 为 word 文档自动生成书签
  • 热扩散测试要求不起火、不爆炸,电动汽车电池新国标GB38031-2025将于2026年7月实施
  • 驱动开发硬核特训 │ 深度解析 fixed regulator 驱动与 regulator_ops
  • 在uni-app中使用Painter生成小程序海报
  • Linux基础IO
  • RFID智能书架:图书馆数字化转型的新核心技术
  • 使用vue3 脚手架创建项目
  • 【AI Weekly】AI前沿热点周刊(4.21~4.27)
  • 考研408-计算机组成原理冲刺考点(1-3章)
  • 状态模式 (State Pattern)
  • Ubuntu安装SRS流媒体服务
  • [实战] IRIG-B协议详解及Verilog实现(完整代码)
  • 第十三节:实战与工程化高频题-TypeScript集成要点
  • 香港科技大学广州|智能交通学域博士招生宣讲会—电子科技大学
  • css网格布局Grid
  • 在服务器中,搭建FusionCompute,实现集群管理
  • Qt/C++面试【速通笔记五】—子线程与GUI线程安全交互
  • AWS PrivateLink vs Lattice:深度解析两大网络服务的异同
  • 恰好边数限制的最短路(边的数量很大)
  • 《淘宝 API 数据湖构建:实时商品详情入湖 + Apache Kafka 流式处理指南》
  • MySQL最新版9.3.0安装教程
  • PyCharm 2023升级2024 版本
  • Linux:ftp 配置实验
  • terraform使用workspace管理多工作环境
  • List--链表
  • 【C++ 核心知识点面试攻略:从基础到实战(上位机开发视角)】
  • Linux调试器 - gdb使用指南
  • 【虚幻5蓝图Editor Utility Widget:创建高效模型材质自动匹配和资产管理工具,从3DMax到Unreal和Unity引擎_系列第二篇】
  • Rabbitmq下载和安装(Windows系统,百度网盘)