🟦 u5-02 内核与 TrustZone:Cortex-M33 与双世界

🟦 STM32U575 数据手册初学者精讲 · 第 2 / 10 章
🗨️ Cortex-M33 不是 M3 的简单升级:它增加了 FPU、DSP 扩展、MPU,还引入了 TrustZone「安全世界」与「非安全世界」的双世界架构。
这一章在干嘛? 先搞清楚 U575 的心脏长什么样,再理解 TrustZone 对你的代码、外设、调试会产生什么影响。

Cortex-M33:M3 的超低功耗接班人

STM32U575 使用 Arm Cortex-M33,主频最高 160 MHz。和经典 M3 相比,M33 的主要升级:

特性M3(如 F103)M33(U575)对初学者的影响
浮点单精度 FPU可以直接算 float,不用软件库模拟
DSP多数无内置 DSP 指令FIR/FFT 等运算更快
MPU可选标配可以限制不同任务访问的内存区域
TrustZone标配代码/数据/外设可分安全/非安全

一句话:M33 ≈ M4 的 DSP/FPU + M3 的低功耗血统 + 安全扩展。

M33 仍然属于 Cortex-M 家族,所以你在 F103 上写的 NVIC、SysTick、中断优先级那套知识,基本都能平移过来。

TrustZone:把一颗芯片劈成两半

TrustZone 是 ARM 的安全扩展。它把 CPU 的运行状态分成两个世界:

世界英文能访问什么常见用途
安全世界Secure所有资源(包括非安全资源)密钥管理、安全启动、敏感算法
非安全世界Non-secure只能访问非安全资源普通 RTOS、应用代码、驱动

这带来几个实际影响:

如果项目不需要安全启动/加密,你可以暂时把 TrustZone 关掉(TZEN=0),把它当成普通 M33 来用。但别忽略:很多例程默认 TZEN=1,会让内存和外设访问报 BusFault。

FPU 与 DSP:算得快的底气

做惯 F103 的同学注意:在 U575 上可以直接用 float 写算法,但电源敏感场景仍建议定点/查表,因为浮点运算功耗更高。

MPU:内存保护单元是干什么的

MPU 可以把 SRAM 分成若干区域,给每个区域设置「可读/可写/可执行」属性。常见用法:

对初学者来说,MPU 不是必选项;但当你跑 RTOS、或做安全认证时,它会非常有用。

🧠 小测验
M33 相比 M3 多了哪些关键能力?
FPU、DSP、TrustZone、MPU。
TrustZone 把芯片分成哪两个世界?
Secure(安全世界)和 Non-secure(非安全世界)。
如果不需要安全功能,最省心的做法是什么?
TZEN=0 关闭 TrustZone,按普通 M33 使用。
← 上一篇🏠 顶层目录下一篇 →