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

相关推荐
似的8352 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
fanged3 小时前
总线学习3--SPI番外(TODO)
学习
ThsPool4 小时前
【遥感学习整理 02】ENVI遥感图像处理基础:从数据读取到遥感信息产品
图像处理·人工智能·学习
0566466 小时前
Python康复训练——常用标准库
开发语言·python·学习
0566466 小时前
Python康复训练——控制流与函数
开发语言·python·学习
老k一步步来7 小时前
STM32 HAL库CAN通信核心函数详解,参数以及作用
stm32·单片机·嵌入式硬件
gwf2167 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
早睡早起身体好1238 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
菩提树下的打坐8 小时前
测试左移的更深一层:用 DDD 战术设计反推测试边界
学习
casual~9 小时前
模逆元计算方法详解:扩展欧几里得算法与费马小定理
学习·算法·逆元