STM32L5在trustzone使能情况下使用,需要用户根据应用要求,规划好Flash和SRAM上的安全区域和非安全区域。由于trustzone环境下CPU对存储区访问规则的限制,这套规划方案会涉及到几方面的设置 • IDE的链接文件 • 选项字节配置:Flash WM、启动地址 • 寄存器配置:GTZC、SAU 目前STM32CubeL5固件包里所有例程采用相同的存储区域划分方案 • 区域划分粒度较粗,不太符合实际应用需求 • 512K片上Flash 前256K作为安全区域 后256K作为非安全区域 前256K安全区域里的结尾8K用作NSC区域 • 256K片上SRAM 前96K作为安全区域 后160K作为非安全区域 TZ使能时访问规则回顾:(存储区上的)取指
TZ使能时访问规则回顾:存储区上的数据访问
分析 我们以STM32CubeL5固件包里GPIO_Toggle_TrustZone例子来分析 • 当前的默认存储区划分方案,是如何通过以下措施来实现的 • 寄存器配置:GTZC、SAU • 选项字节配置:Flash WM、启动地址 • IDE的链接文件 • 然后按照自己的应用需求,修改对应配置 原有存储区域划分方案
原有存储区域划分方案的实现. SAU配置
原有存储区域划分方案的实现. 物理存储区配置
原有存储区域划分方案的实现. IDE链接文件 以IAR为例 Linker文件里区域的指定,要和SAU、物理存储区域的实际安全设定、启动地址,相匹配
目标:根据应用需求调整存储区域划分方案
修改选项字节
修改GTZC.MPCBB配置
修改SAU配置
修改代码
修改linker文件
点击可下载完整文档>>> |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版