NESU004 February   2023 MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   摘要
  2.   註冊商標
  3. 1BSL 功能概覽
  4. 2詞彙
  5. 3BSL 架構
    1. 3.1 設計
      1. 3.1.1 逾時特性
        1. 3.1.1.1 介面自動偵測
        2. 3.1.1.2 命令接收
    2. 3.2 BSL 叫用
      1. 3.2.1 空裝置
      2. 3.2.2 應用程式請求
      3. 3.2.3 基於 GPIO 的叫用
      4. 3.2.4 偵錯信箱命令
      5. 3.2.5 其他
        1. 3.2.5.1 預開機應用程式驗證
    3. 3.3 記憶體
      1. 3.3.1 SRAM 記憶體使用量
    4. 3.4 BSL 配置
    5. 3.5 BSL 狀態
  6. 4開機載入程式協定
    1. 4.1 封包格式
    2. 4.2 UART 和 I2C BSL 協定
      1. 4.2.1 BSL 確認
      2. 4.2.2 周邊設備配置
        1. 4.2.2.1 UART
        2. 4.2.2.2 I2C
        3. 4.2.2.3 CRC
    3. 4.3 開機載入程式核心命令
      1. 4.3.1  通訊
      2. 4.3.2  取得裝置資訊
      3. 4.3.3  解鎖開機載入程式
      4. 4.3.4  程式資料
      5. 4.3.5  程式資料快速
      6. 4.3.6  讀回資料
      7. 4.3.7  快閃記憶體範圍清除
      8. 4.3.8  大量清除
      9. 4.3.9  原廠重設
      10. 4.3.10 獨立驗證
      11. 4.3.11 啓動應用程式
      12. 4.3.12 變更傳輸速率
    4. 4.4 BSL 核心回應
      1. 4.4.1 BSL 核心訊息
      2. 4.4.2 詳細錯誤
      3. 4.4.3 記憶體讀回
      4. 4.4.4 裝置資訊
      5. 4.4.5 獨立驗證
    5. 4.5 開機載入程式安全性
      1. 4.5.1 受密碼保護的命令
        1. 4.5.1.1 安全警示
      2. 4.5.2 BSL 輸入項
  7. 5使用開機載入程式的程式流範例
  8. 6二次開機載入程式
    1. 6.1 二次開機載入程式範例
  9. 7介面外掛程式
    1. 7.1 實作
      1. 7.1.1 初始化
      2. 7.1.2 接收
      3. 7.1.3 傳輸
      4. 7.1.4 反初始化
      5. 7.1.5 重要注意事項
    2. 7.2 Flash 外掛程式類型
    3. 7.3 覆寫現有介面
      1. 7.3.1 UART 介面 Flash 外掛程式範例
  10. 8參考
  11. 9修訂記錄

UART 介面 Flash 外掛程式範例

使用 UART 通訊的範例 Flash 外掛程式,做為 SDK 範例 SDK 的一部分供參考。本節提供更多相關詳細資訊。

說明

UART 介面 Flash 外掛程式會透過下列 4 個 API 勾點處理 BSL 主機和 ROM BSL 之間的資料交易。

  • BSL_PI_UART_init
  • BSL_PI_UART_receive
  • BSL_PI_UART_send
  • BSL_PI_UART_deinit

UART Flash 外掛程式主要用於在需要時以自訂實作覆寫 ROM BSL UART 介面。

範例使用

  • 將 UART_RX 和 UART_TX 與 BSL 主機 (任何具有 UART 介面的微控制器) 連線。
  • 編譯並載入範例。
  • 使用 BSL 叫用針腳或其他任何叫用方法建立 BSL 叫用條件。
  • 從主機傳送 Connection 命令。成功時會收到 BSL 確認。
  • 從主機傳送 GetDeviceInfo 命令。
  • BSL 會回應 UART 介面 Flash 外掛程式版本資訊。
  • 同樣的,傳送清除、編程和驗證命令以編程記憶體中的資料。

軟體檔案詳細資料

檔案名稱詳細資訊
bsl_uart.c處理主機與 BSL 核心之間的通訊。定義四個介面 API 初始化、接收、傳送和反初始化。
bsl_uart.h包含 BSL 確認和 bsl_uart.c 函式宣告的定義
ti_msp_dl_config.h包含裝置專屬配置,例如 UART 針腳、時鐘配置及其它。
boot_config.h包含 BCR 和 BSL 配置結構
startup_mspm0x_ticlang僅包含預設處理常式函式定義的啓動檔。不像一般啓動檔沒有中斷向量表或重設處理常式,因爲這些特性從未在 Flash 外掛程式中使用,並且被移除,以減少記憶體消耗。
mspm0x.cmd連結器命令檔案,其指定 Flash 外掛程式映像駐留在記憶體和 SRAM 區域中以進行運作的記憶體區域。

自訂

此範例提供 Flash 外掛程式適用的參考實作。可視需要自訂。介面 Flash 外掛程式 API 是主要的變更位置。

遵循的步驟:

  • 視需要修改 Flash 外掛程式 API
  • 完成變更後,編譯程式碼
  • 如果 API 指標已更新,則計算 BSL 配置的 CRC
  • 視情況修改 BCR 配置中的快閃記憶體寫入保護設定
  • 計算 BCR 配置的 CRC
  • 在 BCR 和 BSL 配置中儲存新的 CRC。
  • 再次編譯程式碼。
  • 載入 Flash 外掛程式映像