NESU004 February   2023 MSPM0L1227 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L2227 , 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 和 I2C BSL 協定

UART 和 I2C BSL 協定的資料封包具有下列結構。

  • 標頭位元組指出使用的協定和封包類型 (命令或回應封包)。
  • 長度欄位包含 BSL 核心資料的大小 (以位元組爲單位)。
  • BSL 核心資料,包含命令/回應 ID 和位址,以及命令所需的資料
  • CRC32 欄位包含為 BSL 核心資料中的資料計算的 CRC
PI 程式碼 BSL 核心資料 PI 程式碼
標頭 (1 位元組) 長度 (2 位元組) BSL 核心命令/回應 CRC32 (4 位元組)

根據核心資料欄位,資料封包分類爲命令封包或回應封包。

命令封包是第一個傳輸到 BSL 的封包。第二個封包是從 BSL 接收的回應封包。回應封包涵蓋兩個元件 BSL 確認和 BSL 核心回應。在這兩種情況下,系統會從 BSL 接收每個傳送的命令封包確認。但並未針對每個命令接收 BSL 核心回應。

GUID-20221116-SS0I-H7RK-2PQQ-Z7TRRPDDBWW9-low.png圖 4-1 BSL 協定