引言
初學(xué)者在看包含 TrustZone 的程序時(shí),難免頭大。有安全和非安全兩個(gè)工程,安全和非安
全工程如何去下載?如何去調(diào)試?本文以 IAR 調(diào)試器為例,簡(jiǎn)單介紹一下按鍵點(diǎn)燈-
TrustZone 程序的下載與調(diào)試。
1、下載調(diào)試
1.1. 編譯程序
首先,需要對(duì)程序進(jìn)行編譯。編譯時(shí),需要注意:先編譯 H563TZ_LED_S,再編譯H563TZ_LED_NS。
1)將 H563TZ_LED_S 設(shè)置為 Active,設(shè)置完成后,可以看到 H563TZ_LED_S 已經(jīng)變?yōu)?Active 工程,然后點(diǎn)擊編譯。
2)在 Build 一欄中,會(huì)有編譯成功的提示。
3)將 H563TZ_LED_NS 設(shè)置為 Active,設(shè)置完成后,可以看到 H563TZ_LED_NS 已經(jīng)變?yōu)?Active 工程,然后點(diǎn)擊編譯。
4)在 Build 一欄中,會(huì)有編譯成功的提示。
1.2. 下載程序
對(duì)于帶 TrustZone 安全側(cè)和非安全側(cè)程序的下載,無先后順序。接下來以先下載安全側(cè)代碼為例進(jìn)行講解。
1)假設(shè)工程 H563TZ_LED_S 處于 Active 狀態(tài),點(diǎn)擊 Project->Download->Download active application。
2) 將 H563TZ_LED_NS 設(shè)置為 Active,設(shè)置完成后,然后點(diǎn)擊 Project->Download->Download active application。
3)下載完成后,測(cè)試按下并松開按鍵后,小燈點(diǎn)亮,再次按下并松開按鍵后,小燈熄滅。
1.3. 調(diào)試程序
調(diào)試程序時(shí),需要注意在非安全側(cè)添加安全側(cè).out 文件,如果需要調(diào)試非安全側(cè)代碼,程序需要從安全側(cè)開始進(jìn)行仿真運(yùn)行。
1) 在 H563TZ_LED_NS 非安全側(cè)添加安全側(cè) H563TZ_LED_S.out 文件。點(diǎn)擊Debugger->Images->Download extra image,然后選擇文件。
2)選擇 Secure_nsclib 中的 H563TZ_LED_S.out 文件,點(diǎn)擊 Open, 點(diǎn)擊 OK 完成添加。
3)在非安全側(cè)的外部觸發(fā)中斷回調(diào)函數(shù)中打斷點(diǎn)。
4)使 H563TZ_LED_S 為 Active 狀態(tài)時(shí),然后點(diǎn)擊仿真按鈕,進(jìn)入仿真界面。點(diǎn)擊全速運(yùn)行,然后按下按鍵并松開后,程序運(yùn)行至斷點(diǎn)處。
2、總結(jié)
本文簡(jiǎn)單的總結(jié)了帶 TrustZone 程序如何編譯,下載與調(diào)試,講解了在不同步驟下對(duì)安全側(cè)和非安全側(cè)代碼的操作順序與操作流程,希望可以通過本文幫助大家快速掌握帶TrustZone 程序的簡(jiǎn)單操作。