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

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

[复制链接]
STMCU小助手 发布时间:2023-2-12 22:56
引言 % c0 D  c( {7 K+ c
& F: C# t: b- F
本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。
. T! {+ _, h. j" \/ g) ]6 x本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建和调试安全和非安全应用程序的基础知识。 本文首先概述 Arm® Cortex®-M33 和 TrustZone®概念。 0 P: }& ~/ {  g8 S; ~4 B: N
本应用笔记还描述当通过 TZEN 选项位启用 TrustZone®之后,如何使用 EWARM 和 MDKARM 调试 STM32L5 系列微控制器。
. D$ `1 G) i+ |7 K
( M% y" [2 b' d  t' N" i0 o1 概述
; X/ O0 R/ h/ k. h' X本文档适用于 STM32L5 系列单核 Arm®的微控制器。
: N  d7 e5 Y/ G/ c9 X3 C* a 提示 Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere./ Q0 t1 Z% S/ N; q
+ c" [; o4 h  `" e
2 Arm® Cortex®-M33 内核概述
( p! ]- n! d3 X. X' E; L! d4 P. v Arm® Cortex®-M33 是首次完整的集成了 ARMv8 指令集及 TrustZone 安全技术和数字信号处理功能。该处理器支 持大量灵活的配置选项,以促进各种应用程序的部署,并提供专用的协处理器接口,用于加速经常使用的计算密集 型操作。Cortex®-M33 提供性能、功率、安全性和生产效率之间的最佳平衡。
# ?" t. B6 O- g# w! n) @
6 j# i- E$ D* K6 b0 a3 Armv8-M 的 TrustZone®概念
+ `+ N- q3 x' B# H% M/ F带有 TrustZone®的 Cortex®-M33 处理器有两个安全状态(参见图 1)和一些相关的特性:
8 E3 D( p% w+ u5 ~• 安全状态 3 ]$ n) w' F8 g9 L! K
• 非安全状态
8 U3 H- y/ }4 \• 四个堆栈和四个堆栈指针寄存器
; T# {- {9 \7 V3 j• 硬件栈限制检查 % E2 I$ t1 M. j* l$ t9 l
• 支持类似于可编程 MPU 的安全属性单元(SAU)" _; y$ Z% H" K1 i% e( C; k
• 系统安全通知接口 & ?, ~' n0 j2 \1 g. ]& M
• 限定非安全(NS)域只能通过预定义的入口点访问安全代码 ) ~9 b; I1 W6 |0 ?* T( M
• 当切换到非安全时,异常硬件自动保存和清除安全寄存器状态
  g# l( @3 T& E* t. Z9 q0 w, c• 中断或异常控制的扩展存储,SysTick
" M7 Q- i; U8 I6 O  ^; ~• 针对每个安全和非安全部分的内存保护单元。' C. G" L+ z. c
/ u7 F9 `  u1 P' d
@(FGBI(4N@F@_@Z~ZRLI6S4.png 5 Y& w' }/ _, _7 f# v5 m; L
提示 TrustZone®被启用后,系统默认在安全状态下启动。
1 e$ O* n) a3 x7 [3 ?! C" y! C# u0 C% y  I1 y
4 SAU / IDAU - TrustZone®概念
1 j: I: _" W! H: r5 [, {TrustZone® 安全功能由 FLASH_OPTR 寄存器中的 TZEN 位激活。TrustZone®被启用后,SAU 和 IDAU 根据安全 和非安全状态定义访问权限。3 l1 Q9 K: n; V; L  v+ h
• IDAU:将第一个内存分区配置为安全或非安全可调用属性。IDAU 内存映射分区是不可配置的,它由硬件配 置决定。
. h- R( P0 x; U3 p7 b• SAU:8 个区域,用于覆盖 IDAU 以设置安全区域和确认非安全区域。
; n) {/ n# h; x. V; o • 首先根据 IDAU 安全属性选择安全状态,然后结合 SAU 安全属性选择安全状态。最终的安全属性是 IDAU 和 SAU 的最高安全设置。
$ V% d; W4 K; L" V' \' ?1 p • “安全”安全属性具有最高的安全优先级,非安全可调用的安全优先级次之,非安全属性的安全优先级最低。默 认情况下,任何未定义的区域都是安全的
2 ~/ i! |% r9 r# X4 C
8 i, }& {+ k4 P4 H* O+ O
TrustZone®安全被激活之后,默认安全状态如下:2 n) i( g. z& N) A$ |8 x! E! x
• CPU: Cortex®-M33 在复位后处于安全状态。启动地址必须在安全区域中。
8 A& d8 |$ j$ h* i6 G  W/ G# Z; ?0 \$ W • 内存映射:SAU 在复位后是完全安全的。整个内存映射是完全安全的。最多有 8 个 SAU 可配置区域用于安 全属性。
8 R3 j% _6 Y6 O6 n  t. @  @ • Flash 存储器:
9 {$ T5 ]2 N; d. J7 L  S– Flash 安全区域是由安全水印用户选项定义的。所有闪存都是完全安全的。
: A- }" R: W: r* a– Flash 块的功能在复位后是非安全的。即使所有的闪存通过 IDAU/SAU 和闪存安全水印选项字节配置都 是非安全的,也可以使用基于闪存块的特性配置易失性安全区域:使用 Flash 块的配置寄存器,任何页 面都可动态编程为安全模式。
1 l5 M5 ~# u3 z7 y- J  }" z – SRAM:所有 SRAM 在复位后是安全的。基于内存保护块的控制器(MPCBB)是安全的。' w: q/ f, s6 s2 N) t# v3 h1 [
• 非安全内存视图与其他 Cortex®-M 内核相同。
  N& L# o2 h0 _3 n1 w" l7 r • 安全内存空间分为两种内存类型:
  s' k, d) Z8 o1 B1 h. E – 安全:包含安全程序代码和数据,如栈区和堆区。
: x. ]' x7 @! r: ^. ~& U* c9 h  A/ w– 非安全可调用(NSC):包含入口函数(例如 API 的入口点),这是为了防止非安全应用程序分为无效 入口点。8 M2 q' Q- x5 J$ N( z3 F

" K3 l$ `4 e  b4 ]1 n5 调试模式 4 W8 x8 x- k9 e' J$ [
5.1  侵入式调试
; V; [$ C4 n7 Z! e/ N8 W. m 侵入式调试定义为一种调试过程 - 用户控制并观察处理器活动。大多数调试功能被认为是侵入式调试,因为它们允 许用户停止处理器并修改其状态。
) O% _& _  y& e( A; ~9 YDBGEN 和 SPIDEN 控件都具有侵入式调试权限。 7 K7 h1 m" W) @& A5 m' Y

6 d  U. u. Q' s' _; D7 Z( z9 @- N5.2 非侵入式调试
, P, O8 Y& V5 w1 a; ^" A非侵入式调试定义为一种调试过程 - 用户观察处理器但不进行控制。嵌入式跟踪宏单元™(ETM)接口和性能监视 器寄存器是非侵入式调试的特性。
# v! _6 Q4 j7 b' HNIDEN 和 SPNIDEN 控件都具有非侵入式调试权限。允许侵入式调试的时候总是允许非侵入式调试。
/ Q$ b. [9 ~( F1 ?! ~2 T7 k- y' f" l7 Z$ s
完整版请查看:附件) b6 [$ w3 B) @4 Q  y
STM32L5 系列微控制器和 TrustZone® 开发入门.pdf (6.59 MB, 下载次数: 11)
收藏 评论0 发布时间:2023-2-12 22:56

举报

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