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分布,扇区

相关推荐
晓梦林4 分钟前
bughush靶场学习笔记
笔记·学习
hssfscv4 分钟前
QT的学习记录1
开发语言·qt·学习
weixin_446260856 分钟前
[特殊字符] 从弱点中学习:小计算使用智能体的自动领域专业化
人工智能·学习
wuxinyan12311 分钟前
工业级大模型学习之路029:解决双智能体调用数据库报错问题
数据库·人工智能·python·学习·智能体
熠速27 分钟前
基于PolarLabBox的永磁同步电机(PMSM)零速带载闭环+全速域无感:8小时从理论到落地
单片机·嵌入式硬件·硬件在环半实物仿真
sakiko_1 小时前
Swift学习笔记34-MVC架构,SwiftUI与UIkit混编练习
笔记·学习·swiftui·mvc·swift
JNX_SEMI1 小时前
EG2031L:220V半桥驱动,1.5A灌流,宽压5V供电
单片机·嵌入式硬件
汤米粥1 小时前
python学习——核心语法三
java·python·学习
m0_377108141 小时前
stm32-SPI
stm32·单片机·嵌入式硬件
七老板的blog2 小时前
从持久化任务到多 Agent 协作
python·学习·ai