NESU004 February 2023 MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
提供二次開機載入程式的範例作爲 SDK 範例的一部分,以供參考。本節提供更多相關詳細資訊。
說明
此範例二次開機載入程式支援對記憶體中的資料進行編程/驗證,其 BSL 協定格式與裝置中的主要 BSL (ROM BSL) 相同,可以用與 ROM BSL 相同的方式叫用。
其支援以下主要功能
它使用 UART 介面與主機通訊。
此範例負責二次開機載入程式的實作及登錄。因此,一旦將此映像載入到裝置中,就無法使用裝置中的主開機載入程式。只會啟用二次開機載入程式。若要將裝置恢復爲使用主開機載入程式,則必須使用 SWD_Factory_Reset 命令 (透過偵錯子系統信箱進行原廠重設)。.
範例使用
軟體檔案詳細資料
| 檔案名稱 | 詳細資訊 |
|---|---|
|
secondary_bsl.c |
初始化 BSL 運作所需的周邊設備。從通訊介面接收命令封包,並將其傳遞到命令處理層。 另外還負責在 BSL 配置記憶體中登錄二次開機載入程式。 |
|
bsl_ci.c |
解譯命令封包、處理命令,並將回應傳回主機 |
|
bsl_ci.h |
包含 BSL 命令和回應的定義。以及 bsl_ci.c 的函式宣告 |
|
bsl_uart.c |
處理主機與 BSL 核心之間的通訊 |
|
bsl_uart.h |
包含 BSL 確認和 bsl_uart.c 函式宣告的定義 |
|
ti_msp_dl_config.h |
包含裝置專屬配置,例如 UART 針腳、使用周邊設備的基本位址等 |
|
boot_config.h |
包含 BCR 和 BSL 配置結構 |
|
factory_config.c |
執行功能以擷取原廠配置的裝置專屬資料,例如 SRAM 記憶體大小。 |
|
factory_config.h |
包含 factory_config.c 的原廠配置結構和功能宣告 |
|
startup_mspm0x_ticlang |
包含向量表、重設處理常式和其他處理常式的啓動檔 |
|
mspm0x.cmd |
連結器命令檔,其指定二次開機載入程式映像應駐留在記憶體和 SRAM 區域中的記憶體區域。 |
自訂
此範例提供二次開機載入程式的參考實作。其可視需要自訂。BSL 核心層 (secondary_bsl.c, bsl_ci.c) 或介面層 (bsl_uart.c) 是完成自訂的主要位置。
遵循的步驟
根據需要修改程式碼
完成變更後,編譯程式碼
視情況修改 BCR 配置中的快閃記憶體寫入保護設定
計算 BCR 配置適用的 CRC 並儲存新的 CRC 值
再次編譯程式碼
載入自訂的 BSL 映像