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

STM32L5 系列微控制器和 TrustZone® 开发入门

[复制链接]
STMCU小助手 发布时间:2023-2-12 22:56
引言
4 m; e; Y0 H9 D. H7 k. `8 X

" Y2 k; {, t; ?本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。
$ K+ r' Y3 X/ J3 `- ~. b: J) b+ [本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建和调试安全和非安全应用程序的基础知识。 本文首先概述 Arm® Cortex®-M33 和 TrustZone®概念。   ]% x2 r; i' J$ O2 X
本应用笔记还描述当通过 TZEN 选项位启用 TrustZone®之后,如何使用 EWARM 和 MDKARM 调试 STM32L5 系列微控制器。! n0 Z3 T/ A& D

% V6 M4 A6 V8 ~4 e# D1 概述0 Z8 k# @+ T- p8 O2 |' ?
本文档适用于 STM32L5 系列单核 Arm®的微控制器。
* Q6 y" o% g6 s4 J: h6 x6 b 提示 Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
1 F- p  u" \+ a: Q
7 S- @, W6 i; W! ~  v 2 Arm® Cortex®-M33 内核概述6 j+ r& m" b5 d4 n
Arm® Cortex®-M33 是首次完整的集成了 ARMv8 指令集及 TrustZone 安全技术和数字信号处理功能。该处理器支 持大量灵活的配置选项,以促进各种应用程序的部署,并提供专用的协处理器接口,用于加速经常使用的计算密集 型操作。Cortex®-M33 提供性能、功率、安全性和生产效率之间的最佳平衡。
0 {2 J8 m1 z# ^7 E+ G6 G$ e# B: f# S) e
3 Armv8-M 的 TrustZone®概念
$ L! b& n( O4 o; u带有 TrustZone®的 Cortex®-M33 处理器有两个安全状态(参见图 1)和一些相关的特性:
, c, ^; [' [# ]4 o• 安全状态
0 ^% |- x6 G2 ^* l$ ?) ?, o. |9 x0 r0 G• 非安全状态 & A4 V9 ?7 A( M: e8 s! G
• 四个堆栈和四个堆栈指针寄存器 1 e: o/ |# [' E# L; ]
• 硬件栈限制检查 $ i& {# |/ ?2 u
• 支持类似于可编程 MPU 的安全属性单元(SAU)* C+ w6 u+ Y, `( B% {$ q
• 系统安全通知接口 ; e1 Z) m7 n# y0 {- _. j8 V" ?
• 限定非安全(NS)域只能通过预定义的入口点访问安全代码 + y6 d3 L3 M0 h: u$ J' u
• 当切换到非安全时,异常硬件自动保存和清除安全寄存器状态 3 L! Z7 q, y6 u: W0 H9 S4 x
• 中断或异常控制的扩展存储,SysTick
7 ^0 b; H7 L! u5 l' b9 U1 ~* [: M• 针对每个安全和非安全部分的内存保护单元。
. V2 P0 L  p5 H- |- \
  i; ^" @4 D" L$ G @(FGBI(4N@F@_@Z~ZRLI6S4.png 1 o: S- @8 M* O
提示 TrustZone®被启用后,系统默认在安全状态下启动。
3 ?% P2 b; p' N! f
0 }  r$ B- C9 S) H+ X4 SAU / IDAU - TrustZone®概念 & ]7 d) n+ f  q0 f3 p3 m8 n
TrustZone® 安全功能由 FLASH_OPTR 寄存器中的 TZEN 位激活。TrustZone®被启用后,SAU 和 IDAU 根据安全 和非安全状态定义访问权限。! D+ x5 L3 y) J$ v% K) [
• IDAU:将第一个内存分区配置为安全或非安全可调用属性。IDAU 内存映射分区是不可配置的,它由硬件配 置决定。 : {$ ]4 S: N. s
• SAU:8 个区域,用于覆盖 IDAU 以设置安全区域和确认非安全区域。
& B- n  I% H- t4 M& W0 b% ?1 x# J • 首先根据 IDAU 安全属性选择安全状态,然后结合 SAU 安全属性选择安全状态。最终的安全属性是 IDAU 和 SAU 的最高安全设置。
) U. B- [2 U5 U& Y8 f. V; l% z • “安全”安全属性具有最高的安全优先级,非安全可调用的安全优先级次之,非安全属性的安全优先级最低。默 认情况下,任何未定义的区域都是安全的( B' r7 \! e* M; n& A2 j& w
5 f6 p9 @& T: K) ~) F& k
TrustZone®安全被激活之后,默认安全状态如下:) t: i# D0 x' P/ I+ M  e
• CPU: Cortex®-M33 在复位后处于安全状态。启动地址必须在安全区域中。1 x! r- P  q  J+ \0 o
• 内存映射:SAU 在复位后是完全安全的。整个内存映射是完全安全的。最多有 8 个 SAU 可配置区域用于安 全属性。
: M* T4 ~. F3 g$ g9 J5 o) D2 T • Flash 存储器:
" B1 e' s0 o9 k$ T/ T– Flash 安全区域是由安全水印用户选项定义的。所有闪存都是完全安全的。 " o/ o( l% E8 o
– Flash 块的功能在复位后是非安全的。即使所有的闪存通过 IDAU/SAU 和闪存安全水印选项字节配置都 是非安全的,也可以使用基于闪存块的特性配置易失性安全区域:使用 Flash 块的配置寄存器,任何页 面都可动态编程为安全模式。
- H" P3 B4 \+ G% ]( f – SRAM:所有 SRAM 在复位后是安全的。基于内存保护块的控制器(MPCBB)是安全的。( _; Y4 C! n, M7 {
• 非安全内存视图与其他 Cortex®-M 内核相同。
( c, u5 Z4 X* S/ ?( v4 R$ d6 e$ k • 安全内存空间分为两种内存类型:
4 c( {/ M, [2 s( N1 B – 安全:包含安全程序代码和数据,如栈区和堆区。 & g4 k9 [" F' A
– 非安全可调用(NSC):包含入口函数(例如 API 的入口点),这是为了防止非安全应用程序分为无效 入口点。2 B6 v* |! A+ M$ \$ j  J8 K2 q! Q: n$ V

+ z. H" y8 k" j! O! P( P5 调试模式
1 I6 P- e8 [5 X9 c- h7 N5 e% v+ ~5.1  侵入式调试
* M9 i. ]6 c2 _1 _! ] 侵入式调试定义为一种调试过程 - 用户控制并观察处理器活动。大多数调试功能被认为是侵入式调试,因为它们允 许用户停止处理器并修改其状态。 , p: z+ I$ x- C( M  ~3 Y/ O
DBGEN 和 SPIDEN 控件都具有侵入式调试权限。 ( z6 a! W0 j7 w' r, h  m3 W
. N$ X; Z( I+ ~3 P% C# F
5.2 非侵入式调试
, q, M8 ]5 k9 P1 ]& O+ t$ Q非侵入式调试定义为一种调试过程 - 用户观察处理器但不进行控制。嵌入式跟踪宏单元™(ETM)接口和性能监视 器寄存器是非侵入式调试的特性。
- B! c) {, ]) o/ U% _1 JNIDEN 和 SPNIDEN 控件都具有非侵入式调试权限。允许侵入式调试的时候总是允许非侵入式调试。7 w8 s# v8 l9 n4 G' p

; X& ]7 Z" B' H0 q6 _# d完整版请查看:附件
1 ?8 i; M' T5 y" l- R' T# z
STM32L5 系列微控制器和 TrustZone® 开发入门.pdf (6.59 MB, 下载次数: 14)
赞 收藏 评论0 发布时间:2023-2-12 22:56

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版