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

经验分享 | TrustZone 版的按键点灯程序下载调试

[复制链接]
STMCU小助手 发布时间:2025-8-27 08:42
引言4 l7 B  w/ W9 l7 u& D8 T
初学者在看包含 TrustZone 的程序时,难免头大。有安全和非安全两个工程,安全和非安全工程如何去下载?如何去调试?本文以 IAR 调试器为例,简单介绍一下按键点灯-TrustZone 程序的下载与调试。
- g- `0 S) @3 m( Y  q6 l4 B& c
  H" T# t6 N" |
. J; ]+ P% U2 A8 l5 W9 ]- M* G  k
1. 下载调试5 r2 u# G; o9 S% f" K/ h1 _4 K
1.1. 编译程序# W0 A: W  C. P8 M7 R1 }' U9 f
首先,需要对程序进行编译。编译时,需要注意:先编译 H563TZ_LED_S ,再编译H563TZ_LED_NS。" o4 W+ V0 s: z: u( Q
: s" e% c4 l  k

, ?$ o7 n7 u* M3 p1)将 H563TZ_LED_S 设置为 Active,设置完成后,可以看到 H563TZ_LED_S 已经变为 Active 工程,然后点击编译。$ [: u; C7 l( r$ m: v0 `3 B. w4 O0 c6 r
8.png
2)在 Build 一栏中,会有编译成功的提示。
$ A. \' i7 C/ @( A
9.png
3)将 H563TZ_LED_NS 设置为 Active,设置完成后,可以看到 H563TZ_LED_NS 已经变为 Active 工程,然后点击编译。4 R0 a4 j- }8 q7 C9 E, l
10.png
4)在 Build 一栏中,会有编译成功的提示。
4 g+ v7 c) M+ ~' A
11.png
1.2. 下载程序+ j/ R1 C5 S( X+ p+ ~: ~7 \6 v
对于带 TrustZone 安全侧和非安全侧程序的下载,无先后顺序。接下来以先下载安全侧代码为例进行讲解。
0 Q3 W/ D' O. f9 x/ m" @0 t, c3 ~
" x" g2 h2 \3 H( A6 i# W' A
: p& i" ?; k& a3 C/ |6 ^
1)假设工程 H563TZ_LED_S 处于 Active 状态,点击 Project->Download-> Download active application。
- p  v& [. \# h; F3 ]8 C
12.png
2) 将 H563TZ_LED_NS 设置为 Active,设置完成后,然后点击 Project->Download-> Download active application。8 j: S/ ^6 y6 k* ~0 A9 {! U
8 l6 V& W- f: ?4 Z0 p. ~; h
8 v$ u5 X3 s. L, d7 m- X% E3 `: `
3)下载完成后,测试按下并松开按键后,小灯点亮,再次按下并松开按键后,小灯熄灭。* C0 ], q3 K: M. G/ S5 {! w
# P* s: z. @0 d" X0 X# s( N

: w1 X1 Z4 `, J  b4 U! ^" v1.3. 调试程序# o. S( Q3 V1 X% J- N
调试程序时,需要注意在非安全侧添加安全侧.out 文件,如果需要调试非安全侧代码,程序需要从安全侧开始进行仿真运行。, Q6 l5 h7 u6 l' ?. C4 s) g

; d1 p9 M2 f* d) W

. H& M6 T) x( J5 H+ l1) 在 H563TZ_LED_NS 非安全侧添加安全侧 H563TZ_LED_S.out 文件。点击Debugger->Images->Download extra image,然后选择文件。3 z- z$ \; J: R3 u- ~
14.png
2)选择 Secure_nsclib 中的 H563TZ_LED_S.out 文件,点击 Open, 点击 OK 完成添加。7 N; Y( m1 V* b6 {6 L# g" ]
15.png
3)在非安全侧的外部触发中断回调函数中打断点。
  p2 X) q$ j$ o% P" `. a* K# d! L
16.png
4)使 H563TZ_LED_S 为 Active 状态时,然后点击仿真按钮,进入仿真界面。点击全速运行,然后按下按键并松开后,程序运行至断点处。
* t* O1 c$ p3 M% Y' ?, t. X
17.png
2. 总结" x# U5 K3 r) I3 i3 S
本文简单的总结了带 TrustZone 程序如何编译,下载与调试,讲解了在不同步骤下对安全侧和非安全侧代码的操作顺序与操作流程,希望可以通过本文帮助大家快速掌握带 TrustZone 程序的简单操作。$ `  C. n3 H$ x
; v2 M: ]8 C4 c7 _) d
文档中所用到的工具及版本% w" J2 ]# D$ c# ^
CubeMX6.12.1 (或最新版本)( ]! h, V8 A# e. J/ Z% P
STM32Cube_FW_H5_V1.2.0 (或最新版本)1 y! j8 V2 C4 J# z- V+ O
STM32CubeProgrammer 2.17.0 (或最新版本)7 Z+ U3 Q9 k+ o2 t: A+ Q' c' ~$ S
IAR EW for Arm 9.50.2 (或最新版本)* f5 _" }9 j. R" d- k+ d
————————————————# h; ^7 e6 ^! J
8 O0 u4 }1 V, Y, Z* a/ o  `" l
7 F6 f- D' v# L! F, d
赞 收藏 评论0 发布时间:2025-8-27 08:42

举报

0个回答

所属标签

相似技术帖

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