
STM32L5在trustzone使能情况下使用,需要用户根据应用要求,规划好Flash和SRAM上的安全区域和非安全区域。由于trustzone环境下CPU对存储区访问规则的限制,这套规划方案会涉及到几方面的设置+ f `/ F9 T& T' t5 H • IDE的链接文件 • 选项字节配置:Flash WM、启动地址! a/ C: k7 T9 E/ \ • 寄存器配置:GTZC、SAU : @; z& f( J4 j. _! O) k, t • 目前STM32CubeL5固件包里所有例程采用相同的存储区域划分方案 • 区域划分粒度较粗,不太符合实际应用需求 • 512K片上Flash0 E+ F' V. F y • 前256K作为安全区域 • 后256K作为非安全区域- c. b" j; |" z1 @& T0 ?& W • 前256K安全区域里的结尾8K用作 NSC区域1 W$ O( s1 x. B i • 256K片上SRAM. T C1 [) s+ v; @8 H • 前96K作为安全区域, K( M% a3 i6 N3 E • 后160K作为非安全区域# X, w' H& ^% _5 ] * x+ ~- U/ n) [' N% \ ! P0 l, I/ ?8 W6 f" [; k ![]() # B, I) l5 B7 s. p, k6 i $ M! g6 I4 e2 w9 M) Y# Y ![]() - }$ x' @+ r/ M. x9 K) o$ F 5 @8 L" K+ l) X0 U# g; w- S# q 分析: s- R2 R/ ^9 a4 w: A; X* C" t • 我们以STM32CubeL5固件包里GPIO_Toggle_TrustZone例子来分析3 G+ u/ Z4 j9 q R 7 B$ @% V5 v' A# f2 a( `7 B • 当前的默认存储区划分方案,是如何通过以下措施来实现的2 _, f3 P# s9 O$ Q6 Y* R) D/ G • 寄存器配置:GTZC、SAU • 选项字节配置:Flash WM、启动地址, s6 b0 g' o# x) ?0 z0 m0 z • IDE的链接文件/ [& i0 n$ l/ w' U • 然后按照自己的应用需求,修改对应配置 5 x4 {1 J! y6 Q6 u3 F " R3 b3 A: e4 `2 z0 K+ a 完整版请查看:附件/ G, \& r; }8 o 8 I; F2 _. s) O. j2 _ e $ A% ^8 h) |9 @2 E3 A7 _% I |
STM32L5 memory partition.pdf
下载419.76 KB, 下载次数: 1
STM32L562E-DK 驱动FMC接口的LCD屏
STM32L562E-DK移植lua脚本语言
Arm® TrustZone®特性面向 STM32L5 和 STM32U5 系列
STM32L5 系列微控制器和 TrustZone® 开发入门
STM32CubeL5 TFM 应用程序入门
STM32CubeIDE 中基于 STM32L5 系列的项目入门
Arm® TrustZone®特性面向 STM32L5 和 STM32U5 系列
STM32U5对比STM32L5有 哪些更新?
STM32L5 中如何关闭 TrustZone ?
使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码