STM32 内核

📅 2026/7/4 15:09:49 👁️ 阅读次数 📝 编程学习
STM32 内核

目录
  • 1. Bank
  • 1.1 双Bank 的核心作用


下面以STM32L451RETx 系列芯片为例:

1. Bank

Bank(存储块)是Flash 的一种物理分区结构;

STM32L451RETx Flash(512KB)是单Bank结构;

单Bank 与双Bank 的核心区别

特性 单 Bank 双 Bank
擦除时是否能执行代码 ❌ 不行(CPU会卡住) ✅ 可以(另一个 Bank 运行)
支持在线升级(IAP) 较难 ✅ 非常方便
并行操作 ❌ 不支持 ✅ 支持
中断响应 ❌ 会被阻塞 ✅ 可正常响应
  • 如何判断STM32是否双Bank:
    • 看芯片的Reference Manual中关键字“Flash dual-bank mode”;
    • 看芯片手册关于Memories 的相关描述;

1.1 双Bank 的核心作用

  1. 支持“边运行边擦写”(RWW:Read While Write):程序在Bank1 运行,支持同时擦写或编程Bank2;
  2. 支持IAP / OTA(在线升级):支持双备份升级、A/B 分区机制;

典型流程:

  1. 当前程序运行在 Bank1
  2. 下载新固件到 Bank2
  3. 校验 OK 后切换执行
  4. 下次启动运行 Bank2
  1. 支持Bank Swap(地址重映射):实现固件回滚、双固件冗余;STM32L4芯片支持BOOT 时切换Bank,让Bank2 映射到Flash 起始地址0x08000000;