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

【STM32U3评测】5.U3中TrustZone的学习使用

[复制链接]
jundao721 发布时间:2025-6-29 19:17
      STM32 在某些系列MCU中可以使用TrustZone技术,常用的比如L5,U5,U3等。说的简单点就是为了放置被异常代码侵扰,把系统资源分为两个独立的、硬件强制执行的安全世界(Secure World)和非安全世界(Non-Secure World)。但是这部分待遇不一样,安全部分拥有更高的特权,可以访问所有资源,包括安全和非安全资源。非安全世界只能访问非安全资源。所以应用起来就是,把重要的操作都放到安全区域,不重要的放到非安全区域。- l# g9 X, m' W9 u; [6 Y& X
    应用起来才是硬道理。可以参照官方的例程去理解。并且了解整个的设置流程。
( [. d0 b8 B( n) v. R    首先需要打开STCubeProgrammer,连接到MCU板。然后就是设置TZEN=1,然后设置SECWM1和SECWM2,如说明所示:
& w0 _9 r+ y. e0 k( K7 Y( u   - TZEN=1/ Y. z( K. C% [' @+ k% |& G
   - SECWM1_PSTRT=0x0  SECWM1_PEND=0x7F  meaning all 128 sectors of Bank1 set as secure
2 {+ S) ?3 y) y" K% J) x- v   - SECWM2_PSTRT=0x7F SECWM2_PEND=0x0   meaning all 128 sectors of Bank2 set as non_secure
/ c) }4 u% l4 y& \) a  k+ }0 |
8 m5 D7 H! t9 U1 L* A& j( w- `
    还需要设置SBoot0R 和 NSBoot0R,如图1和图2所示:) ?- i* j' ^" C, O
   5-1.png ; {/ S2 m7 l+ k" F+ c& f5 n
  图1
( e) z# A6 Z0 U
% M1 b- V* f/ w6 ~9 \( t7 ~6 J 5-2.png $ k8 F4 _" a% M! {
图2
: l$ Q" a7 r4 [/ @) P1 ~& {$ W
: W1 i$ c. F0 y0 o6 K3 x; N7 |" l   设置好之后,要记得点击右边的apply,否则设置无效,如图3所示。
* q; @4 Z6 ^( {* |0 r 5-3.png
# @) M" c& `& @  T图3- ?! x/ d% x/ O- }  c% B/ x
7 }! G7 Q4 u. P. b( H
  这样基本就设置好了,打开cubemx,设置GPIO,将需要放到secure区域的外设都设置到Secure区域,不需要的就设置为NS区域,如图4所示:; T! g  ?' V: d- `
5-4.png 4 |. V; `! ^' D- ^% X5 V
图4) s( p- H# x) J1 ?$ i

: ]5 d# ^5 v3 Z" D$ U  A8 L  设置好时钟,如果需要把时钟部分放到secure区域,右击选择System Clock Mux,选择secure即可。如图5所示:8 u( a4 u3 T9 w* }1 d
5-5.png % `( ~' {+ k5 j
图5
, o" L0 }% A# X1 k" H" O9 N! V* E4 m2 z' e/ R
  还需要设置GTZC_S,如图6所示:
  C* g. J' V2 [) L1 V 5-6.png
2 t: _2 h/ @' u图6$ q6 d+ I3 ~- p: v! k
. A; [$ B9 ]# f  v+ w  j
  这些设置好后,生成project。( }7 H' T, L4 g4 U
  
! S7 l" L# B( o" N) A  在项目中会有两个项目,一个是secure,一个是Nsecure。要先编译S项目,生成secure_nsclib.o文件,这是连接NS项目的接口,否则NS项目编译会报错。
6 o1 y  R/ k  d( p  再编译NS项目。
0 V4 l) `' W. W5 b# m  编译后,Download NS项目,然后Download S 项目。
/ U, Q0 P; C3 J  这个过程可以通过右击项目名,选择active需要用的project。Download后,按复位键可正常运行程序,先点灯试试,如图7所示:
; g& s, A/ @8 P% e1 ?* Z9 b3 D. H   5-7.gif ; `4 e* m# z; t7 l5 t6 F* [
图7
( O% F/ i% v9 |" z3 w$ r8 [& C  当然也可以Debug NSProject。
! ^/ W' M* r% ?9 a4 i- F  看B站上有官方的详细介绍,仔细学习,应该理解起来更容易。
) s( {. @* i9 v$ u. E9 _9 A) n8 z6 j: s- F1 R
赞 收藏 评论0 发布时间:2025-6-29 19:17

举报

0个回答

所属标签

相似技术帖

官网相关资源

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