引言
初學者在看包含 TrustZone 的程序時,難免頭大。有安全和非安全兩個工程,安全和非安
全工程如何去下載?如何去調試?本文以 IAR 調試器為例,簡單介紹一下按鍵點燈-
TrustZone 程序的下載與調試。
1、下載調試
1.1. 編譯程序
首先,需要對程序進行編譯。編譯時,需要注意:先編譯 H563TZ_LED_S,再編譯H563TZ_LED_NS。
1)將 H563TZ_LED_S 設置為 Active,設置完成后,可以看到 H563TZ_LED_S 已經變?yōu)?Active 工程,然后點擊編譯。
2)在 Build 一欄中,會有編譯成功的提示。
3)將 H563TZ_LED_NS 設置為 Active,設置完成后,可以看到 H563TZ_LED_NS 已經變?yōu)?Active 工程,然后點擊編譯。
4)在 Build 一欄中,會有編譯成功的提示。
1.2. 下載程序
對于帶 TrustZone 安全側和非安全側程序的下載,無先后順序。接下來以先下載安全側代碼為例進行講解。
1)假設工程 H563TZ_LED_S 處于 Active 狀態(tài),點擊 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)在非安全側的外部觸發(fā)中斷回調函數中打斷點。
4)使 H563TZ_LED_S 為 Active 狀態(tài)時,然后點擊仿真按鈕,進入仿真界面。點擊全速運行,然后按下按鍵并松開后,程序運行至斷點處。
2、總結
本文簡單的總結了帶 TrustZone 程序如何編譯,下載與調試,講解了在不同步驟下對安全側和非安全側代碼的操作順序與操作流程,希望可以通過本文幫助大家快速掌握帶TrustZone 程序的簡單操作。