STM32 Flash 扇区分布学习

一、STM32F4 Flash 硬件扇区原生结构(1MB Flash)

STM32F40x/41x 系列 1MB Flash 的扇区划分是芯片硬件固定设计,并非均匀分割,其核心特点为前小后大,兼顾小容量引导程序存储与大容量应用代码存放:

  • Sector 0~3:均为 16 KB 小扇区,适合存放中断向量、小容量配置参数;
  • Sector 4:独立 64 KB 扇区,承接前半部分空间;
  • Sector 5~11:均为 128 KB 大扇区,总计 896 KB,专门用于存放主应用程序。
扇区编号 地址范围 扇区大小 累计空间
Sector 0 0x08000000 ~ 0x08003FFF 16 KB 16 KB
Sector 1 0x08004000 ~ 0x08007FFF 16 KB 32 KB
Sector 2 0x08008000 ~ 0x0800BFFF 16 KB 48 KB
Sector 3 0x0800C000 ~ 0x0800FFFF 16 KB 64 KB
Sector 4 0x08010000 ~ 0x0801FFFF 64 KB 128 KB
Sector 5 0x08020000 ~ 0x0803FFFF 128 KB 256 KB
Sector 6 0x08040000 ~ 0x0805FFFF 128 KB 384 KB
Sector 7 0x08060000 ~ 0x0807FFFF 128 KB 512 KB
Sector 8 0x08080000 ~ 0x0809FFFF 128 KB 640 KB
Sector 9 0x080A0000 ~ 0x080BFFFF 128 KB 768 KB
Sector10 0x080C0000 ~ 0x080DFFFF 128 KB 896 KB
Sector11 0x080E0000 ~ 0x080FFFFF 128 KB 1024 KB

二、注意事项

  • 扇区大小不可自定义STM32F4 的 Flash 扇区大小是硬件固化规则,无法通过软件修改,分区与擦除必须严格遵循官方地址映射,否则会导致擦除失败、程序跑飞。

  • 区分宏定义与实际地址 stm32f4xx_flash.h 中的 FLASH_Sector_x 是库内部枚举值,仅用于代码调用,不能直接用于地址计算,实际空间规划必须参考物理地址范围。

  • 擦除范围必须完整覆盖应用程序,若遗漏扇区会导致旧程序残留,引发固件升级异常。

地址 偏移 ÷0x10000(64k) ×8 块编号
0x08020000 0x20000 0x2 0x20 0x20
0x08040000 0x40000 0x4 0x28 0x28
0x08060000 0x60000 0x6 0x30 0x30
0x08080000 0x80000 0x8 0x38 0x38

三、大容量芯片(≥2MB)双 Bank 架构

  • 主存储区(0x08000000 起始):标准只有 12 个扇区(Sector 0~11),对应 0x0000~0x0058。
  • Sector 12~23(0x0080~0x00D8) :仅存在于 2MB 双 Bank 芯片 (如 STM32F429/439),对应 Bank 2 的 12 个扇区,基地址为 0x08100000
  • 地址映射
    • Bank 1(主存储):0x08000000 ~ 0x080FFFFF(1MB)
    • Bank 2(扩展存储):0x08100000 ~ 0x081FFFFF(1MB)
    • 每个 Bank 内部均包含 12 个扇区(0~11),共 24 个扇区编号(0~23)。

参考文章:

STM32命名,Flash分布,扇区

相关推荐
piaoyiren11 分钟前
STC8 单片机蜂鸣器播放音乐
单片机·嵌入式硬件
星子yu36 分钟前
【学习】怎么学好数据结构
数据结构·学习
阿拉斯攀登1 小时前
无人售货柜MQTT客户端工业级配置:心跳、遗嘱、重连、QoS适配实战
嵌入式硬件·mqtt·安卓·零售·无人售货柜·无人售货机
~kiss~1 小时前
MoE的痛点:离散路由
学习
Amazing_Cacao1 小时前
CFCA精品可可工艺师初级校准:暴力破解机器黑盒,实现物理参数与最终风味的精准对齐
笔记·学习
KaifuZeng2 小时前
通信与接口协议面试问题汇总三
单片机·嵌入式硬件·面试·通信与接口协议
浮江雾2 小时前
Flutter第三节----Dart中的数据类型
android·开发语言·学习·flutter·入门·函数
AI的探索之旅2 小时前
AI Agent辅助立创EDA设计——从原理图到PCB
人工智能·stm32·硬件工程
风和先行2 小时前
Android 数据库相关学习总结
android·数据库·学习
chh5632 小时前
C++--list
开发语言·数据结构·c++·学习·算法·list