🟦 u5-03 存储体系:Flash、SRAM 与 ART 加速

🟦 STM32U575 数据手册初学者精讲 · 第 3 / 10 章
🗨️ U575 最高提供 2 MB Flash 和 786 KB SRAM,并且通过 ICACHE/DCACHE 大幅提升 Flash 取指和数据访问效率。
这一章在干嘛? 搞懂 Flash 和 SRAM 怎么分区、怎么保护,以及 ART 加速器如何让你的代码跑得更快。

Flash:程序的家,也是配置的保险柜

STM32U575 的 Flash 最高 2 MB,用来存:

Flash 的保护机制非常重要:

保护作用初学者须知
读保护 RDP防止 JTAG/SWD 读出代码设高了调试器就挂,调试时通常 RDP Level 0
写保护防止 Flash 被意外改写一般按页/组保护
Secure 区域仅安全世界可访问TrustZone 场景下用
Hide 保护 HDP隐藏区域,调试时也不可见高安全场景用
RDP Level 1 时调试器读不出 Flash;Level 2 时 JTAG/SWD 永久关闭(不可逆)。调试阶段务必保持 Level 0,量产时再根据安全需求调整。

SRAM:运行时数据与栈的所在地

U575 把 SRAM 分成多段:

区域典型大小特点
SRAM1192 KBAHB 主总线访问,通用
SRAM264 KB可用于低功耗模式保持
SRAM3512 KB大容量,适合帧缓冲、算法中间数据
SRAM416 KB在低功耗域,Stop 模式下可保持
BKPSRAM2 KB + 128 个备份寄存器VBAT 供电时保持
做 LCD/OLED 屏缓冲、算法大数组时,优先把数据放到 SRAM3(512 KB),它够大。

ICACHE 与 DCACHE:让慢 Flash 也能喂饱快 CPU

U575 内置:

为什么需要它们?因为 CPU 跑在 160 MHz,而 Flash 读速度跟不上这么高的主频。没有缓存时,CPU 经常要等待 Flash;有了缓存,常用代码和数据就在缓存里,执行效率大幅提升。

对初学者的影响:

DMA + DCACHE 是很多新手踩坑的地方。如果 DMA 读到的数据老是不对,先检查 DCACHE 有没有 invalidate。

OTP 与选项字节

修改选项字节会触发一次系统复位,这是正常现象。

🧠 小测验
U575 的 SRAM 大致分为哪几块?
SRAM1(192K)、SRAM2(64K)、SRAM3(512K)、SRAM4(16K)、BKPSRAM(2K)。
RDP Level 2 有什么风险?
JTAG/SWD 永久关闭,无法再次调试,不可逆。
ICACHE 主要解决什么问题?
让 Flash 取指速度能跟上 160 MHz 的 CPU,减少等待周期。
← 上一篇🏠 顶层目录下一篇 →