引言
初学者在看包含 TrustZone 的程序时,难免头大。有安全和非安全两个工程,安全和非安
全工程如何去下载?如何去调试?本文以 IAR 调试器为例,简单介绍一下按键点灯-
TrustZone 程序的下载与调试。
1、下载调试
1.1. 编译程序
首先,需要对程序进行编译。编译时,需要注意:先编译 H563TZ_LED_S,再编译H563TZ_LED_NS。
1)将 H563TZ_LED_S 设置为 Active,设置完成后,可以看到 H563TZ_LED_S 已经变为 Active 工程,然后点击编译。
2)在 Build 一栏中,会有编译成功的提示。
3)将 H563TZ_LED_NS 设置为 Active,设置完成后,可以看到 H563TZ_LED_NS 已经变为 Active 工程,然后点击编译。
4)在 Build 一栏中,会有编译成功的提示。
1.2. 下载程序
对于带 TrustZone 安全侧和非安全侧程序的下载,无先后顺序。接下来以先下载安全侧代码为例进行讲解。
1)假设工程 H563TZ_LED_S 处于 Active 状态,点击 Project->Download->Download active application。
2) 将 H563TZ_LED_NS 设置为 Active,设置完成后,然后点击 Project->Download->Download active application。
3)下载完成后,测试按下并松开按键后,小灯点亮,再次按下并松开按键后,小灯熄灭。
1.3. 调试程序
调试程序时,需要注意在非安全侧添加安全侧.out 文件,如果需要调试非安全侧代码,程序需要从安全侧开始进行仿真运行。
1) 在 H563TZ_LED_NS 非安全侧添加安全侧 H563TZ_LED_S.out 文件。点击Debugger->Images->Download extra image,然后选择文件。
2)选择 Secure_nsclib 中的 H563TZ_LED_S.out 文件,点击 Open, 点击 OK 完成添加。
3)在非安全侧的外部触发中断回调函数中打断点。
4)使 H563TZ_LED_S 为 Active 状态时,然后点击仿真按钮,进入仿真界面。点击全速运行,然后按下按键并松开后,程序运行至断点处。
2、总结
本文简单的总结了带 TrustZone 程序如何编译,下载与调试,讲解了在不同步骤下对安全侧和非安全侧代码的操作顺序与操作流程,希望可以通过本文帮助大家快速掌握带TrustZone 程序的简单操作。