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

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

[复制链接]
STMCU小助手 发布时间:2023-2-12 22:56
引言
' D# e: |& |: R  \  {8 K

. E* l& b" G; q1 W; `: x4 t* X7 X本文档为使用 EWARM 和 MDKARM 软件工具链在 STM32L5 系列微控制器上进行应用开发提供参考。
5 [3 O* ^5 E" h0 [5 m  [' A本应用笔记提供了为 Arm® Cortex®- m33(Armv8_M 架构)的器件构建和调试安全和非安全应用程序的基础知识。 本文首先概述 Arm® Cortex®-M33 和 TrustZone®概念。
7 h6 m. x( }) t7 ~本应用笔记还描述当通过 TZEN 选项位启用 TrustZone®之后,如何使用 EWARM 和 MDKARM 调试 STM32L5 系列微控制器。
  V2 S! N, r2 L4 s7 R4 W- i5 C2 f( b( y" x- N9 c7 Q
1 概述' R) t8 o- X( v* w% J# U$ p( g
本文档适用于 STM32L5 系列单核 Arm®的微控制器。
; _9 ]2 L9 {+ z6 I* @/ W& P9 n 提示 Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.8 G6 l8 \; V; E/ J

0 s4 H# \5 t/ e+ v, L 2 Arm® Cortex®-M33 内核概述
9 O3 N& I0 X8 z1 F Arm® Cortex®-M33 是首次完整的集成了 ARMv8 指令集及 TrustZone 安全技术和数字信号处理功能。该处理器支 持大量灵活的配置选项,以促进各种应用程序的部署,并提供专用的协处理器接口,用于加速经常使用的计算密集 型操作。Cortex®-M33 提供性能、功率、安全性和生产效率之间的最佳平衡。 ) `' ~" w' K. k' X
# X0 f4 L8 E% f: t  i) W
3 Armv8-M 的 TrustZone®概念 4 r0 f. g  i3 w$ X
带有 TrustZone®的 Cortex®-M33 处理器有两个安全状态(参见图 1)和一些相关的特性:
7 D/ n( O, T3 y8 m. \% ?* w• 安全状态
: j; q8 k% w; T* C• 非安全状态
' a+ j. ?& m4 o/ k8 G' B* }  ?7 h• 四个堆栈和四个堆栈指针寄存器
& x5 T& w  N/ }4 K6 w0 G6 q• 硬件栈限制检查
$ v+ V- H5 H. }" J" M4 Y4 f• 支持类似于可编程 MPU 的安全属性单元(SAU)
9 G; ~5 z! c4 `5 D$ F" V3 | • 系统安全通知接口
) B% ^8 @5 K4 O9 _9 w& ^6 c- s( `+ K8 {• 限定非安全(NS)域只能通过预定义的入口点访问安全代码 ( q7 @  y' L2 w$ y4 N. k9 ?. x  ~
• 当切换到非安全时,异常硬件自动保存和清除安全寄存器状态 3 M+ h& _# ^1 n' Y  j6 i" K
• 中断或异常控制的扩展存储,SysTick
' R8 A0 G# g! x" ]  U* X8 W) T• 针对每个安全和非安全部分的内存保护单元。
# S( u" H7 x! v, P- E) A
+ ?6 l9 S  M2 B- D3 V: p @(FGBI(4N@F@_@Z~ZRLI6S4.png
8 F# i/ w) A( C6 V- l 提示 TrustZone®被启用后,系统默认在安全状态下启动。
6 y8 e. q5 v- J. o. _
5 q$ R6 u1 O: P3 f' {/ n4 SAU / IDAU - TrustZone®概念 ! ^% u2 m/ L1 D/ v- W
TrustZone® 安全功能由 FLASH_OPTR 寄存器中的 TZEN 位激活。TrustZone®被启用后,SAU 和 IDAU 根据安全 和非安全状态定义访问权限。
! O5 R. r# c( ~- z" e& _6 g, b • IDAU:将第一个内存分区配置为安全或非安全可调用属性。IDAU 内存映射分区是不可配置的,它由硬件配 置决定。
/ q. }4 J5 }) b8 {6 j• SAU:8 个区域,用于覆盖 IDAU 以设置安全区域和确认非安全区域。
+ L1 G7 E( X2 t7 M( E, `$ m • 首先根据 IDAU 安全属性选择安全状态,然后结合 SAU 安全属性选择安全状态。最终的安全属性是 IDAU 和 SAU 的最高安全设置。! Z8 k5 S1 v- Z* U
• “安全”安全属性具有最高的安全优先级,非安全可调用的安全优先级次之,非安全属性的安全优先级最低。默 认情况下,任何未定义的区域都是安全的
0 G6 [/ k8 D( \+ B; L
" z" I5 z4 }0 d) F. U9 v* r
TrustZone®安全被激活之后,默认安全状态如下:2 Q+ v( P; x- _- |# Z2 v; Y
• CPU: Cortex®-M33 在复位后处于安全状态。启动地址必须在安全区域中。
; ~. M3 h9 B" E0 q1 x • 内存映射:SAU 在复位后是完全安全的。整个内存映射是完全安全的。最多有 8 个 SAU 可配置区域用于安 全属性。
/ P0 ^) f* \+ o7 j. \9 d6 Y6 i • Flash 存储器:5 ]0 T7 k7 D/ y
– Flash 安全区域是由安全水印用户选项定义的。所有闪存都是完全安全的。
3 k2 v2 K: N6 q" N2 n– Flash 块的功能在复位后是非安全的。即使所有的闪存通过 IDAU/SAU 和闪存安全水印选项字节配置都 是非安全的,也可以使用基于闪存块的特性配置易失性安全区域:使用 Flash 块的配置寄存器,任何页 面都可动态编程为安全模式。/ m# f+ m" }$ A# ~& b6 W
– SRAM:所有 SRAM 在复位后是安全的。基于内存保护块的控制器(MPCBB)是安全的。
4 E3 r( g- X$ w1 g; ~ • 非安全内存视图与其他 Cortex®-M 内核相同。
6 y1 R" E9 g% ?6 p • 安全内存空间分为两种内存类型:" x; N& n) _) ]( N" K5 V
– 安全:包含安全程序代码和数据,如栈区和堆区。 9 l7 Z* U: D; X5 p& D
– 非安全可调用(NSC):包含入口函数(例如 API 的入口点),这是为了防止非安全应用程序分为无效 入口点。
1 e& @5 X0 J, E; \! I8 J, i6 U3 W; b. Y- R' A& Q( g( f
5 调试模式
: r% W+ K4 n2 B" Q$ |5 Y) r5.1  侵入式调试
0 X% E; P) t1 I0 i9 w5 r# _ 侵入式调试定义为一种调试过程 - 用户控制并观察处理器活动。大多数调试功能被认为是侵入式调试,因为它们允 许用户停止处理器并修改其状态。
& y1 x; v4 _+ C7 w' `( V5 xDBGEN 和 SPIDEN 控件都具有侵入式调试权限。
5 I; }2 I# b: y3 M1 ~3 E/ z1 H3 z
5.2 非侵入式调试
- m" v  j. B# \8 O4 }% o非侵入式调试定义为一种调试过程 - 用户观察处理器但不进行控制。嵌入式跟踪宏单元™(ETM)接口和性能监视 器寄存器是非侵入式调试的特性。
- h) `% T8 _; U# O. ~NIDEN 和 SPNIDEN 控件都具有非侵入式调试权限。允许侵入式调试的时候总是允许非侵入式调试。  s: D9 h: e. r

# p: W) c4 N( }1 h" E完整版请查看:附件
0 K" g1 N' @, V" e9 P- E$ ~
STM32L5 系列微控制器和 TrustZone® 开发入门.pdf (6.59 MB, 下载次数: 9)
收藏 评论0 发布时间:2023-2-12 22:56

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版