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

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

[复制链接]
jundao721 发布时间:2025-6-29 19:17
      STM32 在某些系列MCU中可以使用TrustZone技术,常用的比如L5,U5,U3等。说的简单点就是为了放置被异常代码侵扰,把系统资源分为两个独立的、硬件强制执行的安全世界(Secure World)和非安全世界(Non-Secure World)。但是这部分待遇不一样,安全部分拥有更高的特权,可以访问所有资源,包括安全和非安全资源。非安全世界只能访问非安全资源。所以应用起来就是,把重要的操作都放到安全区域,不重要的放到非安全区域。+ l# n+ Y4 }% i8 j" b
    应用起来才是硬道理。可以参照官方的例程去理解。并且了解整个的设置流程。4 }! }7 ~8 U! \) u
    首先需要打开STCubeProgrammer,连接到MCU板。然后就是设置TZEN=1,然后设置SECWM1和SECWM2,如说明所示:6 ]+ u- m, d; S7 a
   - TZEN=1
, o6 q- H# d. }9 u/ M. L: G   - SECWM1_PSTRT=0x0  SECWM1_PEND=0x7F  meaning all 128 sectors of Bank1 set as secure
8 ?- [4 Q" E# n. ]+ h% C/ |# {   - SECWM2_PSTRT=0x7F SECWM2_PEND=0x0   meaning all 128 sectors of Bank2 set as non_secure& r. z' A3 K, V6 i* u4 p( _
: H4 F* M) a4 ~* c* N
# z9 b( q2 W8 ^4 H
    还需要设置SBoot0R 和 NSBoot0R,如图1和图2所示:/ ]# e/ {- Q" @3 ?  S4 x
   5-1.png
) E" O: ]% t0 v% w9 R  图1
0 U: _  d6 w5 W# u) h& ^
* f1 z9 R5 _* }! s" e( H 5-2.png
$ S) D4 P) g6 H& E2 X7 c' D' a+ J: L9 O" y图20 V) c1 Q- P$ c' ~& h

  ?6 L! A0 f5 u8 d# T5 s5 g   设置好之后,要记得点击右边的apply,否则设置无效,如图3所示。/ s6 O1 K6 A' K7 I6 y: A: E) m
5-3.png
# K+ b, C# A" Z. S  W7 Y( m图3/ Z8 t3 T3 e9 a6 p% {

: w9 h7 t  V+ ^, y' M1 h  这样基本就设置好了,打开cubemx,设置GPIO,将需要放到secure区域的外设都设置到Secure区域,不需要的就设置为NS区域,如图4所示:. o4 @3 m% c& N" R. r
5-4.png
' d; k, e2 k# x* j" ?8 B9 d9 n0 q图4
, |& L+ O4 \( r4 P( H2 g3 E1 x7 k9 R
  设置好时钟,如果需要把时钟部分放到secure区域,右击选择System Clock Mux,选择secure即可。如图5所示:; p# y% G6 ?/ Y! F/ w
5-5.png 5 v' C2 y  Q2 y: _; ?* g
图51 C6 }9 E* B- N; N3 G5 t4 Z& v. e
" w/ {' X% d; h1 E
  还需要设置GTZC_S,如图6所示:
% v& j, E8 x8 x" x3 L% q0 U7 ^' }; m; x 5-6.png
( ]/ U. V( Y$ O/ B图6
# k  j: v1 b2 [5 [  A& Q, u& C. O& M6 s' p- M% O  P8 e
  这些设置好后,生成project。
" e" |1 x, D* ~. K) W$ W* J  
5 D! d, g; I+ h* y4 w2 ^  在项目中会有两个项目,一个是secure,一个是Nsecure。要先编译S项目,生成secure_nsclib.o文件,这是连接NS项目的接口,否则NS项目编译会报错。/ o+ c/ b* n/ j0 B3 H$ r
  再编译NS项目。1 R8 \6 {* h' m( [; l, Q" R
  编译后,Download NS项目,然后Download S 项目。
' i% S* X, A  d* E# y  这个过程可以通过右击项目名,选择active需要用的project。Download后,按复位键可正常运行程序,先点灯试试,如图7所示:1 a4 X5 R( }. [- v* o
   5-7.gif
8 J) V9 K9 c4 O# b: h1 i* Q图7$ E# N& \+ S0 n2 G
  当然也可以Debug NSProject。5 |* d2 W& U( D- ~1 I
  看B站上有官方的详细介绍,仔细学习,应该理解起来更容易。2 d( f- o4 A9 ^6 E: Y8 |
  \1 }" M4 S3 y: D" ]! ~
收藏 评论0 发布时间:2025-6-29 19:17

举报

0个回答

所属标签

相似技术帖

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