你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L5 中如何关闭 TrustZone ?

[复制链接]
STMCU小助手 发布时间:2022-8-11 16:38
1. 前言
STM32L5 是 STM32 家族中第一个基于 Cortex-M33 内核的系列,而 TrustZone 正是此内核最重要的特性,使能 TrustZone 的方法非常简单,在 RDP=0 的情况下直接在 option byte 中将 TZEN 1 即可,但是一旦 TrustZone 使能后,与其相关的安全特性也将开启,由于安全方面的特性,在 TrustZone 经打开的情况下欲将其再次关闭却不能像打开时那样那么简单操作了。本文将以用户的视角描述一下关闭 TrustZone 的过程.


2 过程
为了讲述这一过程,我们将以 NUCLEO-L552ZE-Q 这块板子为例,工具使用STM32CubeProgrammer V2.4.0
首先通过 CubeProgrammer 这个工具将 MCU 的 TrustZone 打开, 在此之前读保护 RDP=0 ,是用户面临的选项字节最初始状态 :

[EL%(Q3SMVH9X11D7F}3JZE.png

按客户的操作思路,接下来我们尝试关闭 TrustZone…
首先,直接在 option byte 中直将 TZEN 后那个勾去掉,然后 Apply…
此时会出现错误,如上图所示。


[1`HB)C5UUP@8{OYM4]~@_U.png

在 TrustZone 已经激活的情况下,是不能直接将其关掉的。
接下来查看参考手册,在 RM0438 4.4.2 节有讲述到如何将 TrustZone 关闭的内容 :


[%SQFF`F_EM~%B]GJ1%VQ`6.png

显然,原来 TrustZone 关闭必须是在读保护从 RDP1 回退到 RDP0 的同时进行才可以。首先,我们要将 RDP 设置为 level1,然后再回退…


TWPUD5(DAHIH2ZTMFHJW6QH.png

如上图所示,在设置 RDP1 的时候, 此时会出现警告,意思是说在 TrustZone 开启的情况下尝试使能RDP,如果当前 FLASH 内的代码不能使得芯片上电后执行的程序最终跳转到 NS 空间,将会导致关闭trustzone 和回退 RDP 失败,强烈建议将 nSWBOOT0 设置为 1。这样可以确保我们可以通过调整PH3/Boot0 引脚电平来从系统 bootloader 启动,这是一定可以跑到 NS 程序空间的。


完整版请查看:附件



STM32L5中如何关闭trustzone.pdf

下载

382.41 KB, 下载次数: 1

收藏 评论0 发布时间:2022-8-11 16:38

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版