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

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

[复制链接]
STMCU小助手 发布时间:2023-2-12 22:56
引言 6 T* ]2 n# d0 [  n* m
2 ]7 e" m- A& s" b, k
本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。
8 s0 L; c5 u3 {2 m7 o本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建和调试安全和非安全应用程序的基础知识。 本文首先概述 Arm® Cortex®-M33 和 TrustZone®概念。 : z5 N' V8 ?/ [# c' _" z
本应用笔记还描述当通过 TZEN 选项位启用 TrustZone®之后,如何使用 EWARM 和 MDKARM 调试 STM32L5 系列微控制器。. @* v- h8 f! F; w3 j
( H/ q' h6 ?* j9 ]) q% a
1 概述
( {# g. g6 E# J本文档适用于 STM32L5 系列单核 Arm®的微控制器。
; y2 `# h2 ]3 D" i4 u 提示 Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
8 F9 f, e) Z4 S4 K' D5 h, E- B, }7 B5 J' x0 n
2 Arm® Cortex®-M33 内核概述0 p! x$ U7 T+ C! l9 t
Arm® Cortex®-M33 是首次完整的集成了 ARMv8 指令集及 TrustZone 安全技术和数字信号处理功能。该处理器支 持大量灵活的配置选项,以促进各种应用程序的部署,并提供专用的协处理器接口,用于加速经常使用的计算密集 型操作。Cortex®-M33 提供性能、功率、安全性和生产效率之间的最佳平衡。 6 j# o% B- Q/ Q
3 w, q$ E- ~* D4 |) K, W
3 Armv8-M 的 TrustZone®概念
" q% F  ~9 e- R$ b+ P带有 TrustZone®的 Cortex®-M33 处理器有两个安全状态(参见图 1)和一些相关的特性: 1 N, Y# z0 F% k5 }% H& `
• 安全状态
2 L: C7 k- F5 V/ D+ P8 I( u7 F• 非安全状态 . Q, q& g8 w. P7 a4 Z) ^: S
• 四个堆栈和四个堆栈指针寄存器 ; K$ h% ]: G( c. j+ g6 r, L( P5 c
• 硬件栈限制检查 5 I; j7 X* G7 n
• 支持类似于可编程 MPU 的安全属性单元(SAU)
8 M8 n( H- o% w. U* H; a1 q • 系统安全通知接口 7 l7 e6 f7 V' _  Y; h' j  m
• 限定非安全(NS)域只能通过预定义的入口点访问安全代码 2 E3 z; K! ]" g6 v5 G
• 当切换到非安全时,异常硬件自动保存和清除安全寄存器状态 # {( c* i( s! ?) ]  X
• 中断或异常控制的扩展存储,SysTick
  V2 A. `) ?- F0 H2 _9 g% x) r• 针对每个安全和非安全部分的内存保护单元。6 f+ |7 X1 E7 A. O# S
  p3 k% t; d: {) ?; v
@(FGBI(4N@F@_@Z~ZRLI6S4.png 8 u' H0 m' C0 Q# ^
提示 TrustZone®被启用后,系统默认在安全状态下启动。
& w) l$ w; G5 E5 {* o4 L$ o0 d" u7 o6 }
4 SAU / IDAU - TrustZone®概念 ( a; R# }. W$ W  x
TrustZone® 安全功能由 FLASH_OPTR 寄存器中的 TZEN 位激活。TrustZone®被启用后,SAU 和 IDAU 根据安全 和非安全状态定义访问权限。
& p5 n- V& ~. j: ] • IDAU:将第一个内存分区配置为安全或非安全可调用属性。IDAU 内存映射分区是不可配置的,它由硬件配 置决定。 / R: H$ W1 A  O- P( V  y
• SAU:8 个区域,用于覆盖 IDAU 以设置安全区域和确认非安全区域。
9 N- a) @$ P/ i • 首先根据 IDAU 安全属性选择安全状态,然后结合 SAU 安全属性选择安全状态。最终的安全属性是 IDAU 和 SAU 的最高安全设置。2 _. e8 Y! |& f; t: n
• “安全”安全属性具有最高的安全优先级,非安全可调用的安全优先级次之,非安全属性的安全优先级最低。默 认情况下,任何未定义的区域都是安全的: }& H- z! d0 g) D" U, V* m( S
( `3 i" p* k( q4 h- h: h
TrustZone®安全被激活之后,默认安全状态如下:
; i- M( L9 \1 K& J1 m3 B, Q • CPU: Cortex®-M33 在复位后处于安全状态。启动地址必须在安全区域中。
9 }' D, c2 S  G • 内存映射:SAU 在复位后是完全安全的。整个内存映射是完全安全的。最多有 8 个 SAU 可配置区域用于安 全属性。3 k' L8 B" I5 S6 k# r' V+ V
• Flash 存储器:
8 \# N2 r" Y! p* T! N– Flash 安全区域是由安全水印用户选项定义的。所有闪存都是完全安全的。 0 Q0 j7 b/ P6 ]8 I
– Flash 块的功能在复位后是非安全的。即使所有的闪存通过 IDAU/SAU 和闪存安全水印选项字节配置都 是非安全的,也可以使用基于闪存块的特性配置易失性安全区域:使用 Flash 块的配置寄存器,任何页 面都可动态编程为安全模式。
$ ?& ^; S9 n2 ?3 I# H1 h4 [ – SRAM:所有 SRAM 在复位后是安全的。基于内存保护块的控制器(MPCBB)是安全的。& s. Q: M+ G, B$ D
• 非安全内存视图与其他 Cortex®-M 内核相同。
# [+ ~: e/ m3 o/ J • 安全内存空间分为两种内存类型:4 u# G0 n9 t. t7 t9 o
– 安全:包含安全程序代码和数据,如栈区和堆区。 7 S; k- M) [3 r
– 非安全可调用(NSC):包含入口函数(例如 API 的入口点),这是为了防止非安全应用程序分为无效 入口点。, s/ A6 B+ B; k
# S, X9 p# q: Q. o3 d! ~
5 调试模式 8 N) W" z  r1 L- q6 z
5.1  侵入式调试
9 j" j! @* j+ u2 L2 w7 Q4 R 侵入式调试定义为一种调试过程 - 用户控制并观察处理器活动。大多数调试功能被认为是侵入式调试,因为它们允 许用户停止处理器并修改其状态。
# _! ?8 [2 ?9 G8 VDBGEN 和 SPIDEN 控件都具有侵入式调试权限。 $ c; i1 l( U/ o# P5 Q! x

/ R0 b, w( t4 w, L8 {4 B0 I5.2 非侵入式调试 # n1 Y% M9 V0 w1 z
非侵入式调试定义为一种调试过程 - 用户观察处理器但不进行控制。嵌入式跟踪宏单元™(ETM)接口和性能监视 器寄存器是非侵入式调试的特性。
- D2 }2 T* l# A) \NIDEN 和 SPNIDEN 控件都具有非侵入式调试权限。允许侵入式调试的时候总是允许非侵入式调试。
! Y3 ^; G3 c% r$ A% j3 |2 L. q4 R( ~3 R
完整版请查看:附件. W; @! h: e1 Y8 z: O1 h3 L8 B
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 手机版