KW45:基于 spsdk 的安全啟動腳本
這是用于 KW45 安全啟動的安全配置 SDK (spsdk) 腳本包,包括生成密鑰、編程保險絲、簽名圖像、生成 sb3 文件、調試身份驗證和推進生命周期。
https://spsdk.readthedocs.io/
主板:KW45B41Z-EVK、KW45B41Z-LOC、FRDM-MCXW71、MCX-W71-EVK
類別:無線連接、安全配置、工具、安全
外設:UART、藍牙
工具鏈:MCUXpresso IDE
目錄
1.軟件
Python:3.9+
spsdk:2.6.0
J-Link 指揮官:8.10+
2.硬件
KW45B41Z-EVK/定制板
如果測試的是定制板:
J-Link
USB串行適配器
3. 設置
如果您使用的是 KW45B41Z-EVK,這很簡單,只需將 EVK 的 USB 端口(J14)連接到計算機即可。
如果您使用自己的定制板,請將 KW45 UART1 連接到 USB-UART 適配器,對于某些腳本,需要 J-Link。
要進入 ISP 模式,KW45 的 PTA4 引腳(BOOT_CONFIG)在重置期間需要處于邏輯高電平。
如果使用KW45B41Z-EVK,復位時按下按鈕SW4(PTA4),KW45將進入ISP模式。
安裝 spsdk
python -m pip install --upgrade pip
pip install spsdk
spsdk –version
進入目錄“script”,雙擊腳本運行。
4.結果
4.1 步驟 1
檢查生命周期和密鑰
enter ISP mode
0.read_version_and_lifecycle.cmd
默認生命周期應為 7(OEM_Open)。
EVK上的KW45的保險絲在生產(chǎn)時已經(jīng)編程,并且保險絲是一次性編程,不允許再次編程。
KW45B41Z-EVK 上的 KW45 默認按鍵:
KW45出廠默認按鍵:
4.2 步驟 2
生成密鑰并將 sb3kdk 和 RoTHTH 放入腳本“2.programkeysto_device.cmd”
1.generate_keys.cmd
如果使用 KW45B41Z-EVK,則無需此步驟,請將 evk 默認密鑰從“.how to import keys to SPSDK or SPTkw45evk_keys”復制到“.workspacekeys”
4.3 步驟 3
將密鑰編程到設備
警告?。。?/em>
腳本執(zhí)行破壞性操作(對熔絲進行編程),請確保腳本已使用有效數(shù)據(jù)更新。請注意,熔絲是一次性編程。
2.program_keys_to_device.cmd
4.4 步驟 4
將生命周期提前至 OEM_Closed
3.advance LC to OEM_Closed.cmd
4.5 步驟 5
簽署主要核心圖像
將主核心鏡像復制到根目錄,然后在配置文件中更改inputImageFile。
4.create_signed_app_maincore.cmd
4.6 步驟 6
為主核和/或 NBU 生成 sb3 文件
5.create_sb3_app_maincore.cmd
OR generate sb3 file for NBU
OR 5.create_sb3_app_maincore_nbu.cmd
如果涉及NBU,請將NBU的簽名鏡像(*.xip)從“SDKmiddlewarewirelessble_controllerbin”復制到根目錄下。
4.7 步驟 7
將主核和/或 NBU 的固件上傳到設備
6.upload_sb3_to_device_maincore.cmd
OR 6.upload_sb3_to_device_maincore_nbu.cmd
OR 6.upload_sb3_to_device_nbu.cmd
4.8 步驟 8
調試身份驗證
注意:需要 J-Link
7.generate_debug_auth_dc.cmd
8.debug_auth.cmd
如果成功,則可以使用 J-Link 指揮官來調試 KW45。
注意某些 IDE 可能會重置 KW45,KW45 將失去身份驗證狀態(tài)。
推薦的 IDE 是 Ozone。
4.9 步驟 9
將生命周期推進至 OEM_Return
注意:需要調試授權
9.create_signed_OEM_Return_Bin.cmd
10.advance LC to OEM_Return.cmd
5. 常見問題解答
- 無法讀取保險絲 0x20,因為該保險絲不可讀
- 如何使用ISK?
- 在生命周期OMEOpen和OEMReturn時,主核的固件可以通過寫Flash直接寫入,但NBU的固件任何時候只能通過SB3上傳。
- 已知問題:由于 spsdk,目前不支持將生命周期推進到 OEM_Retrun
6. 支持
rm885660-KW45 安全參考手冊(6.0).pdf
AN13838 KW45 和 K32W 的安全啟動
AN13883 使用 SPSDK 通過 ISP 更新 KW45 無線電固件
AN13931 管理 KW45 和 K32W148 的生命周期
AN14109 KW45 和 K32W148 使用 SEC 工具進行安全啟動
AN14158 KW45/K32W148 上的調試身份驗證
AN14003 在量產(chǎn)過程中通過串行線調試對應用程序和無線電固件的 KW45 閃存進行編程
AN13859 KW45B41Z 和 K32W148 在系統(tǒng)編程實用程序
項目元數(shù)據(jù)
來源:恩智浦appcodehub