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改訂履歴

重要な注意事項

フラッシュ・プラグインを開発するときは、次の重要な点に留意してください。

  1. フラッシュ・プラグインを開発するときは、以下の点に対処する必要があります。

  2. フラッシュ・プラグインがロードされるメイン・フラッシュ・メモリ領域は、静的書き込み保護します

  3. すべてのグローバル変数は、「init」関数で初期化します

  4. 4 つのプラグイン API の関数プロトタイプは、BSL のユーザーガイドの記載に従います

  5. SRAM メモリの使用法

    1. VTOR - SRAM の開始 (0x20000000)。割り込みを使用する場合は、ROM BSL がそのアドレス領域を使用するため、SRAM の先頭に VTOR を配置する必要があります

    2. スタック開始アドレス - デバイスで使用可能な SRAM メモリの末尾

    3. スタック・サイズ - ROM BSL のスタック・サイズを超えないこと

    4. データ・セクション (.data、.bss) - 「デバイス情報の取得」コマンドによって返される「BSL バッファの開始アドレス」は、デバイスにフラッシュ・プラグインが登録されていない場合、データ・セクションの開始アドレスです。

    5. データ・セクションのサイズ - データ・セクションで消費されるサイズ (.data、.bss) は、BSL のメイン以外の構成メモリに設定する必要があります。