JAJA996D December   2022  – September 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   概要
  3.   商標
  4. 1はじめに
    1. 1.1 ブートローダの概念
    2. 1.2 MSPM0 ブートローダの構造
      1. 1.2.1 ROM ベースの BSL
      2. 1.2.2 フラッシュ ベースのプラグイン インターフェイスを備えた ROM ベースの BSL
      3. 1.2.3 フラッシュベースのセカンダリ BSL
    3. 1.3 MSPM0 BSL の機能とデモの概要
  5. 2BSL ホストの実装の概要
  6. 3Non-Main (構成 NVM) における BSL 構成
    1. 3.1 Non-Main の紹介
    2. 3.2 例 – Sysconfig で PA18 BSL 起動ピンを無効化
  7. 4ブートローダーホスト
    1. 4.1 MCU ホスト コードの概要
      1. 4.1.1 ハードウェア接続
      2. 4.1.2 TXT からヘッダ ファイルへの変換
      3. 4.1.3 デモを使用する手順
    2. 4.2 PC ホストの例
      1. 4.2.1 イメージ ファイルとパスワード ファイルの準備
      2. 4.2.2 GUI を使用する手順
  8. 5ブートローダーのターゲット
    1. 5.1 デフォルトの ROM ベースの BSL
      1. 5.1.1 UART インターフェイス
      2. 5.1.2 I2C インターフェイス
    2. 5.2 フラッシュベースのプラグイン インターフェイスのデモ
      1. 5.2.1 UART インターフェイス
        1. 5.2.1.1 デモの使用手順
        2. 5.2.1.2 プラグイン インターフェイス コードをデバッグする方法
      2. 5.2.2 I2C インターフェイス
      3. 5.2.3 SPI インターフェイス
      4. 5.2.4 CAN インターフェイス
    3. 5.3 セカンダリ BSL デモ
      1. 5.3.1 フラッシュベースのセカンダリ BSL を 0x1000 から開始
      2. 5.3.2 フラッシュベースのセカンダリ BSL を 0x0000 から開始
        1. 5.3.2.1 MSPM0C 用のフラッシュベース 0x0 アドレス BSL デモ
        2. 5.3.2.2 ライブ ファームウェア アップデート
  9. 6よくある質問
    1. 6.1 リンカ ファイルの変更
    2. 6.2 デバイスを回復するための CCS によるファクトリ リセット
  10. 7参考資料
  11. 8改訂履歴

フラッシュベースのセカンダリ BSL を 0x1000 から開始

0x1000 から開始するセカンダリ BSL は、0x0 以外のフラッシュ領域の任意の場所に配置できます。アプリケーション コードは 0x0 から開始する必要があるからです。セカンダリ BSL デモの実行フローを図 1-6に示します。このデバイスがサポートしている場合、UART、I2C、SPI、CAN インターフェイスをサポートできます。デモのステップ バイ ステップ動作は、セクション 5.2.1.1に示すものと同じです。

変更後にコードをデバッグする必要がある場合は、セクション 5.2.1.2の手順に従います。

セカンダリ BSL では、割り込みベクタ テーブルのオフセット アドレスが 0x1000 からに移動されており (コードが 0x1000 から開始するため)、リセット ハンドラは startup_mspm0xxxx_ticlang という名前のファイルに配置されています。

セカンダリ BSL を別のフラッシュ領域に移動しようとするときは、cmd ファイルで実行できます。たとえば、セカンダリ BSL を 0x4000 から開始し、図 5-5に示すように cmd ファイルを変更します。

 cmd ファイル修正による 0x4000 への移動 図 5-5 cmd ファイル修正による 0x4000 への移動

図 5-6に示すように、フラッシュの静的書き込み保護パラメータと、代替 BSL の開始アドレスも、Sysconfigファイルで変更する必要があります。

 Sysconfig ファイル修正による 0x4000
                への移動 図 5-6 Sysconfig ファイル修正による 0x4000 への移動

セカンダリ BSL の修正に加え、アプリケーションの cmd ファイルも修正し、セカンダリ BSL が使用するフラッシュ領域を再利用しないようにする必要があります。