JAJU887 February   2023

 

  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 init
      2. 7.1.2 receive
      3. 7.1.3 transmit
      4. 7.1.4 deinit
      5. 7.1.5 重要な注意事項
    2. 7.2 フラッシュ・プラグインのタイプ
    3. 7.3 既存のインターフェイスのオーバーライド
      1. 7.3.1 UART インターフェイスのフラッシュ・プラグインの例
  10. 8関連資料
  11. 9改訂履歴

ブートローダによるプログラムのフローのサンプル

このセクションでは、BSL ホストがブートローダでイメージをロードするときの代表的なシーケンスについて説明します。このサンプル・シーケンスは、フラッシュ・メモリを消去し、新しいファームウェアをプログラムします。

  • ブートローダは、ブランク・デバイスの検出、ピン・ベースの起動、またはアプリケーション要求によって開始されます。

  • 起動すると、目的のインターフェイスを経由して接続コマンドを送信し、BSL との接続を確立します。
  • UART インターフェイスを使用する場合は、ボーレートをより高い値に変更して、通信をさらに高速化することができます。これはオプションです。
  • フラッシュ・メモリを完全に消去するには、一括消去コマンドを使用します。メイン以外のフラッシュを更新する必要がある場合のみ、工場出荷時リセット・コマンドを使用します。これは、メイン以外のフラッシュが消去され、プログラムされていない状態のままだと、デバイスがロックされるためです。
  • ファームウェア・イメージをプログラムします
  • プログラムされたメモリ領域の CRC 検証を行い、プログラムされたデータの正確性をチェックします。この手順はオプションです。
  • アプリケーションは、「アプリケーションの開始」コマンドで開始できます。
GUID-20221116-SS0I-K8FF-2XW0-BH87QL0S5JPW-low.png図 5-1 BSL ホストのシーケンス