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

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

[复制链接]
STMCU小助手 发布时间:2023-2-12 22:56
引言 1 j+ z/ z$ h8 C
* R% f3 E5 Q9 y" f
本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。
9 H% @& a" u  [本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建和调试安全和非安全应用程序的基础知识。 本文首先概述 Arm® Cortex®-M33 和 TrustZone®概念。 # B1 L; [0 P3 }! N
本应用笔记还描述当通过 TZEN 选项位启用 TrustZone®之后,如何使用 EWARM 和 MDKARM 调试 STM32L5 系列微控制器。8 Q  U. D8 Z9 V7 G# p7 n

; }. d" D1 m4 ~' T1 概述
' T/ R2 `: m  M+ K5 C8 J本文档适用于 STM32L5 系列单核 Arm®的微控制器。0 b5 [( ]- m$ ~2 d, F- M% ]7 Z
提示 Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.( @! ^- s2 K. C( A3 h7 e

! w" E* e8 R" G& n- p 2 Arm® Cortex®-M33 内核概述3 n4 K' `: m1 @. g4 U8 b1 t) j
Arm® Cortex®-M33 是首次完整的集成了 ARMv8 指令集及 TrustZone 安全技术和数字信号处理功能。该处理器支 持大量灵活的配置选项,以促进各种应用程序的部署,并提供专用的协处理器接口,用于加速经常使用的计算密集 型操作。Cortex®-M33 提供性能、功率、安全性和生产效率之间的最佳平衡。 # S  X# K' V$ w) I$ ?
+ \/ Y9 Q9 b2 J0 u( \! \/ y* ~
3 Armv8-M 的 TrustZone®概念 0 j$ D- X# i3 y' z7 g/ \, z, p
带有 TrustZone®的 Cortex®-M33 处理器有两个安全状态(参见图 1)和一些相关的特性:
: N/ G8 G% h$ [• 安全状态
0 A4 f5 g" i, J' C+ d- V, O• 非安全状态 1 _9 @' n& c/ i$ N4 D
• 四个堆栈和四个堆栈指针寄存器   M5 V/ E1 d0 c& T* P) |3 n
• 硬件栈限制检查
0 }1 f$ e0 D* ?+ z/ t+ ~5 c. v! n! |• 支持类似于可编程 MPU 的安全属性单元(SAU)4 f+ i+ i' y: `( @& \1 H
• 系统安全通知接口 : q  G7 J; \/ \% V- i
• 限定非安全(NS)域只能通过预定义的入口点访问安全代码 : m1 u3 N( i8 @+ w, Z
• 当切换到非安全时,异常硬件自动保存和清除安全寄存器状态 ; t, X1 Z& i7 H
• 中断或异常控制的扩展存储,SysTick + j  R$ Y7 o( F
• 针对每个安全和非安全部分的内存保护单元。
$ D! m$ `. W/ z  F% ]1 [4 \8 U. o/ X% J: h' q' m( W  ]
@(FGBI(4N@F@_@Z~ZRLI6S4.png 1 x2 g4 X$ K- ~2 X( u6 R* F7 J
提示 TrustZone®被启用后,系统默认在安全状态下启动。0 k) Y  Y, j. ]  ]2 ?4 c
( S) G5 i8 u6 n
4 SAU / IDAU - TrustZone®概念 % a2 B: ~& R; A
TrustZone® 安全功能由 FLASH_OPTR 寄存器中的 TZEN 位激活。TrustZone®被启用后,SAU 和 IDAU 根据安全 和非安全状态定义访问权限。) y. C0 N) M1 O0 k" Z/ o( I
• IDAU:将第一个内存分区配置为安全或非安全可调用属性。IDAU 内存映射分区是不可配置的,它由硬件配 置决定。
/ i% p$ ~7 j5 g  ^) h• SAU:8 个区域,用于覆盖 IDAU 以设置安全区域和确认非安全区域。1 \1 m/ c4 Z( G
• 首先根据 IDAU 安全属性选择安全状态,然后结合 SAU 安全属性选择安全状态。最终的安全属性是 IDAU 和 SAU 的最高安全设置。  W! H" _  i+ H$ `, B6 [" M- v
• “安全”安全属性具有最高的安全优先级,非安全可调用的安全优先级次之,非安全属性的安全优先级最低。默 认情况下,任何未定义的区域都是安全的- I$ {8 D8 F$ T3 A* L! [

% J( f3 G" f, t; a. n- H TrustZone®安全被激活之后,默认安全状态如下:3 ^/ Z4 {# B/ ?0 ~( }2 a2 l8 g9 V
• CPU: Cortex®-M33 在复位后处于安全状态。启动地址必须在安全区域中。& G9 \1 J) J( ?* i
• 内存映射:SAU 在复位后是完全安全的。整个内存映射是完全安全的。最多有 8 个 SAU 可配置区域用于安 全属性。; P7 A" Q+ t' F2 X6 Y
• Flash 存储器:
8 A  u. H' E4 A9 D3 g1 B( H; o– Flash 安全区域是由安全水印用户选项定义的。所有闪存都是完全安全的。
% e2 i( q' b* e. h2 L– Flash 块的功能在复位后是非安全的。即使所有的闪存通过 IDAU/SAU 和闪存安全水印选项字节配置都 是非安全的,也可以使用基于闪存块的特性配置易失性安全区域:使用 Flash 块的配置寄存器,任何页 面都可动态编程为安全模式。
, J6 t' S$ X/ {) C; [+ Y& V, Y – SRAM:所有 SRAM 在复位后是安全的。基于内存保护块的控制器(MPCBB)是安全的。
1 A8 z9 m' x  ] • 非安全内存视图与其他 Cortex®-M 内核相同。: p# M, Y) X9 ]$ m, {
• 安全内存空间分为两种内存类型:4 U5 t8 z6 J( z& y- ~+ G8 U
– 安全:包含安全程序代码和数据,如栈区和堆区。 0 Q  o" H" S8 \- m4 F
– 非安全可调用(NSC):包含入口函数(例如 API 的入口点),这是为了防止非安全应用程序分为无效 入口点。
2 b# i+ |! O. c( r% C3 Z5 k$ m. _. G' U; R' g' ~1 N; C, A  C' x
5 调试模式 % o  X) f0 b, T" u) n
5.1  侵入式调试
4 A4 K( f0 ]% A  r 侵入式调试定义为一种调试过程 - 用户控制并观察处理器活动。大多数调试功能被认为是侵入式调试,因为它们允 许用户停止处理器并修改其状态。
* Y- W) z  v% h; EDBGEN 和 SPIDEN 控件都具有侵入式调试权限。 * P3 @" j2 k1 j3 q7 r( Y0 [4 Z

: D- R1 K6 k3 b) L5.2 非侵入式调试
2 W  q) N( p$ p7 ^( ]/ p# X0 s! }非侵入式调试定义为一种调试过程 - 用户观察处理器但不进行控制。嵌入式跟踪宏单元™(ETM)接口和性能监视 器寄存器是非侵入式调试的特性。
, O& l) k. v! Q, TNIDEN 和 SPNIDEN 控件都具有非侵入式调试权限。允许侵入式调试的时候总是允许非侵入式调试。6 m5 I5 k' A* C3 i6 c0 r
* a: o3 D- L3 g) c& w- t2 q/ f0 N3 n
完整版请查看:附件, N# ~' |" i9 \. ~
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 手机版