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修訂記錄

BSL 核心訊息

架構

Header長度RSP資料CRC32
0x080x020x000x3BMSGC1C2C3C4

說明

對於某些命令,BSL 將訊息回應傳送到主機,該主機指出已處理命令的狀態。該表列出了 BSL 中的所有可能訊息。

MSG 意義 可能原因(1)
0x00 成功執行
0x01 BSL 鎖定錯誤 BSL 尚未使用開機載入程式解鎖密碼命令解鎖,或者在 BSL 解鎖後,命令接收階段會發生逾時
0x02 BSL 密碼錯誤 已傳送不正確的密碼解鎖開機載入程式。
0x03 多個 BSL 密碼錯誤。已採取安全警報措施。 傳送錯誤密碼以解鎖開機載入程式 3 次。
0x04 未知命令 指定給 BSL 的命令未被識別爲有效命令
0x05 無效的記憶體範圍 指定的記憶體範圍無效。
0x06 指令無效 指定給 BSL的命令是已知的命令,但該命令在當時無效,無法處理。

0x07

原廠重設已停用 在 BCR 配置中停用原廠重設

0x08

原廠重設密碼錯誤 當 BCR 配置將原廠重設為「以密碼啟用」時,使用原廠重設命令傳送不正確密碼或沒有密碼

0x09

讀出錯誤 在 BCR 配置中停用記憶體讀出

0x0A

無效的位址或長度對齊 快閃記憶體編程的起始位址或資料長度未對齊 8 位元組

0x0B

用於獨立驗證的長度無效 針對獨立驗證傳送的資料大小不足 1KB
此處列出的可能原因不是狀態或錯誤的唯一原因。它只列出導致錯誤的可能軟體原因,主機可以修正這些錯誤。