用戶使用調(diào)試器可以訪問嵌入式系統(tǒng)的大部分資源,調(diào)試身份驗證(Debug authentication)是系統(tǒng)的一個關鍵安全特性,可以控制調(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來設置該文件。
生成自定義配置文件的步驟如下:
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”,設置產(chǎn)品狀態(tài)。

點擊“DA/PROV”按鈕(可選,但是沒有密碼管理,在移到更高的生命周期狀態(tài)后不能完全回歸),勾選”Enable provisioning”,通過“Browse”按鈕設置Trusted Package Creator創(chuàng)建的*.obk文件路徑,按“ok”按鈕結束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”按鈕設置相應的*.bin文件路徑,在STM32 Debug authentication選項卡中按“Ok”按鈕。

在Memory Protection選項卡中按“Ok”按鈕,在主窗口中按“Clear Locked Device”按鈕。

操作完成后,MCU回到“Open”狀態(tài)。
3、設備發(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)
+關注
關注
41文章
3716瀏覽量
133106 -
STM32
+關注
關注
2305文章
11121瀏覽量
371165 -
調(diào)試器
+關注
關注
1文章
325瀏覽量
24924 -
MCU芯片
+關注
關注
3文章
258瀏覽量
12542
原文標題:如何實現(xiàn)STM32H563/573的安全燒錄
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
基于Rust語言中的生命周期
STM32H563的Ethernet DC electrical characteristics電壓是多少V?
STM32H563的STlink-V3無法識別怎么解決?
STM32H563的I3C無法正常通信是為什么?
使用STM32H563遇到程序編譯時顯示編譯錯誤怎么解決?
ServiceAbility的生命周期介紹
有沒有哪位大神提供一個STM32H523或者STM32H563的串口升級的IAP程序?
請問RT-Thread studio如何導入stm32h563的bsp包?
AutoScaling 生命周期掛鉤功能
如何通過STM32的串口實現(xiàn)簡易脫機編程器
Synopsys 啟動硅生命周期管理計劃
生命周期管理:COTS視角
什么是PLM產(chǎn)品生命周期管理系統(tǒng)?

如何使用FlashPro-ARM編程器實現(xiàn)STM32H563/573的生命周期管理?
評論