用戶使用調(diào)試器可以訪問嵌入式系統(tǒng)的大部分資源,調(diào)試身份驗證(Debug authentication)是系統(tǒng)的一個關(guān)鍵安全特性,可以控制調(diào)試端口的安全鎖定或回歸打開,可用于MCU的開發(fā)、和現(xiàn)場返回分析。
在TrustZone使能或禁止情況下,STM32H563/573都支持調(diào)試認證。在禁用TZ的情況下,使用密碼實現(xiàn)回歸。在啟用TZ的情況下,可以使用加密證書打開調(diào)試端口。
ELprotronic公司的FlashPro是一種用于單件和小批量生產(chǎn)的單通道編程器,一次編程1個目標。FlashPro-ARM編程器支持所有STM32H563/573 MCU產(chǎn)品狀態(tài),包括配置密碼管理和完全回歸。目前支持禁止TrustZone時,實現(xiàn)STM32H563/573的調(diào)試驗證。
本文介紹如何使用FlashPro-ARM編程器實現(xiàn)STM32H563/573的生命周期管理。
文件準備
要執(zhí)行密碼管理的provisioning,需要通過STM32 Trusted Package Creator工具生成*.obk文件,該文件用于配置進行MCU回歸所需的條件。
STM32CubeFW_H5中提供了示例文件,Trusted Package Creator使用位于/Projects/NUCLEO-H563ZI/ROT_Provisioning/DA/Config路徑下的DA_ConfigWithPassword.xml來設(shè)置該文件。
生成自定義配置文件的步驟如下:
1、打開Trusted Package Creator并選擇H5
2、打開Obkey選項卡
3、選擇DA_ConfigWithPassword.xml文件
4、根據(jù)需要更新密碼
點擊Generate OBKey生成相應的obk和password.bin文件。
FlashPro-ARM支持的操作
1、使用FlashPro-ARM執(zhí)行生命周期和配置密碼管理
打開FlashPro-ARM,選擇STM32H563/573 MCU
打開Setup->Memory Protection對話框,選擇Lifecycle management選修卡,勾選”Set Product state enable”,設(shè)置產(chǎn)品狀態(tài)。
點擊“DA/PROV”按鈕(可選,但是沒有密碼管理,在移到更高的生命周期狀態(tài)后不能完全回歸),勾選”Enable provisioning”,通過“Browse”按鈕設(shè)置Trusted Package Creator創(chuàng)建的*.obk文件路徑,按“ok”按鈕結(jié)束STM32 Debug authentication。
在Memory Protection選項卡中按“Ok”按鈕,在主窗口中選中內(nèi)存保護“Enable”框
即可使用FlashPro-ARM編程器中的“AUTO PROG”或“Lock Device”按鈕,將MCU置于選定狀態(tài),進行密碼管理操作。
2、完全回歸
要執(zhí)行完整的回歸,需要一個*.bin文件,該文件存放生成*.obk文件的密碼。
STM32CubeFW_H5中提供了password.bin示例文件。文件位于/Projects/NUCLEO-H563ZI/ROT_Provisioning/DA/Config目錄。
執(zhí)行完全回歸的操作步驟如下:
打開FlashPro-ARM,選用STM32H563/573MCU
打開Setup->Memory Protection選項卡,在lifecycle management選項中,使用“DA/PROV”按鈕,勾選“Enable password”,使用“Browse”按鈕設(shè)置相應的*.bin文件路徑,在STM32 Debug authentication選項卡中按“Ok”按鈕。
在Memory Protection選項卡中按“Ok”按鈕,在主窗口中按“Clear Locked Device”按鈕。
操作完成后,MCU回到“Open”狀態(tài)。
3、設(shè)備發(fā)現(xiàn)操作
發(fā)現(xiàn)操作允許用戶讀取當前MCU狀態(tài)和預置狀態(tài)。
執(zhí)行發(fā)現(xiàn)操作步驟:
打開FlashPro-ARM,選用STM32H563/573 MCU
打開Setup->Memory Protection選項卡,在lifecycle management選項中,按“Discover”按鈕,在彈出的“Debug Authentication”窗口中,使用“Discover”按鈕從MCU讀取信息:
Device ID-MCU ID
Life Cycle-當前MCU狀態(tài)
Integrity status-provisioning狀態(tài)(0xeaeaeaea表示provisioned,provisioning失敗為0xf5f5f5f5,在Open狀態(tài)下0xf5f5f5f5)
初始MCU狀態(tài)
配置后MCU狀態(tài)
使能TrustZone時的調(diào)試驗證很快實現(xiàn)。
審核編輯:劉清
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3587瀏覽量
129427 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355700 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
303瀏覽量
23716 -
MCU芯片
+關(guān)注
關(guān)注
3文章
250瀏覽量
11433
原文標題:如何實現(xiàn)STM32H563/573的安全燒錄
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論