JAJUA43C August   2020  – October 2025 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1

 

  1.   1
  2.   C2000 マイコンでのデバイス リセットなしのライブ ファームウェア アップデート
  3.   商標
  4. 1はじめに
  5. 2主なイノベーション
  6. 3LFU のビルディング ブロック
  7. 4提案されたソリューションの詳細
    1. 4.1 フラッシュ バンク構成
    2. 4.2 LFU の概念とパフォーマンスに影響を及ぼす要因
    3. 4.3 LFU 用ハードウェア サポート
      1. 4.3.1 複数のフラッシュ バンク
      2. 4.3.2 割り込みベクタ テーブル スワップ
      3. 4.3.3 RAM ブロック スワップ
      4. 4.3.4 ハードウェア レジスタ フラグ
    4. 4.4 LFU コンパイラのサポート
    5. 4.5 アプリケーションの LFU のフロー
  8. 5結果と結論
  9. 6実装例
  10. 7改訂履歴

フラッシュ バンク構成

デュアルバンク フラッシュは、図 4-1に示すようにパーティション分割されています。各バンクの 2 つのセクタは、フラッシュ バンク選択ロジック、SCI カーネル、フラッシュ API で構成される LFU ブートローダに割り当てられます。これらはファームウェアのアップグレード中に変更されることはありません。バンク 1 には、バンク選択ロジックが含まれていません。バンク内の残りのフラッシュ セクタはアプリケーションに割り当てられます。バンク選択ロジックを使用すると、ブートローダはアプリケーション ファームウェアでプログラムされるフラッシュ バンクの種類と、最新のアプリケーション ファームウェア バージョンを格納しているバンクを決定できます。したがって、バンク選択ロジックがソフトウェア システムのエントリ ポイントです。SCI カーネルは、ホストからの画像の転送と、フラッシュ プログラミング API (フラッシュまたは ROM に常駐) を使用したフラッシュのプログラミングを実装します。セクタ 2 のいくつかの場所は、以下の情報を保存するために予約されています。

  • 開始 — フラッシュ消去が完了し、プログラム/検証が開始しようとしていることを示します
  • キー – この場所に特定のパターンが含まれている場合、バンク内のファームウェアは有効と見なされます
  • ファームウェア リビジョン番号 (REV) – バンク 0 とバンク 1 の間での新しいファームウェア バージョンを決定するためにバンク選択ロジックによって使用されます
 デュアル バンク フラッシュ パーティショニング図 4-1 デュアル バンク フラッシュ パーティショニング