JAJA829A June   2023  – April 2025 AM2732 , AM2732-Q1

 

  1.   1
  2.   2

アプリケーション目的でフラッシュ部品を選択するときは、いくつかの考慮事項があります。本書では、AM273x デバイスがブート操作およびアプリケーション実行中に互換性を持つために、特定のフラッシュメモリがサポートすべき基本的な要件について説明しています。

はじめに

QSPI フラッシュメモリは、ユーザーシステムで 2 つの異なる方法で使用できます。

  1. メモリはブートメディアとして使用されます。アプリケーションイメージはフラッシュメモリに保存され、ブートローダーソースとして使用されます。
  2. メモリはアプリケーション中にストレージメディアとして使用されます。

フラッシュメモリ IC を選択する場合、デバイスは SoC のすべてのブート要件に準拠する必要があります。メモリがブートメディアとして使用される場合は、アプリケーション中にストレージデバイスとして効率的に動作するために、いくつかのガイドラインに従う必要があります。

図 1 に、セカンダリブートローダー (SBL) イメージと有効なアプリケーションイメージが存在する後のフラッシュメモリの構成を示します。

 QSPI フラッシュ メモリ マップ 図 1 QSPI フラッシュ メモリ マップ
注: ユーザーは、製品固有のデータに「0x0_0000 + SBL サイズ画像」から 0xE_FFFF までのフラッシュ領域を利用できます。
注: 冗長イメージが存在する場合の最大 SBL サイズは 256KB であり、冗長イメージが存在しない場合は 952KB です。

図 2 は、フラッシュ内に有効なイメージがすでに存在していることを前提として、フラッシュの使用状況を踏まえたブートフローのプロセスを示しています。

 一般的なブートフロー 図 2 一般的なブートフロー

ROM のブート要件

図 2 に示すように、ブートフローのプロセスは AM273x が採用しているシーケンスで、電源投入時に開始します。ROM コードはあらかじめ特定の動作をするように設定されており、フラッシュからの特定の命令を想定しているほか、通信を確立するための特定のタイミングやフレーミング構成も想定しています。AM273x デバイスについては、ROM コードで以下のサポートが必要です。

  • フラッシュデバイスは、その付近に 3.3V (標準値 2.3V ~ 3.6V) で動作する必要があります
  • フラッシュは、クワッド出力の高速読み出し (オペコード 0x6B) をサポートできる必要があります
  • フラッシュは、シングルモード (オペコード 0x0B) での高速読み出しをサポートできる必要があります
  • 前述の読み取り動作中に初期アドレスを設定するために、デバイスは 8 ダミークロックサイクルを許容する必要があります
  • フラッシュはデフォルトで 3 バイト (24 ビット) アドレッシングモードをサポートする必要があります
  • フラッシュメモリのサイズは、最小値でも 4MB を推奨します
  • フラッシュは、デフォルトではクワッドモードでブートしてはいけません
  • ROM がブート時に構成パラメータを読み取ることができるように、フラッシュデバイスは SFDP をサポートしている必要があります

これらすべての情報は、評価対象のフラッシュデバイスのデータシートで参照できます。AM273x の互換性要件を満たすために、フラッシュデバイスは上記のすべての点をサポートする必要があります。

アプリケーション要件

設定が不適切でサポートが不足していても、システムのブート障害が発生しないため、アプリケーション固有の要件では ROM コードの実行要件が緩和される傾向があります。汎用フラッシュアプリケーションでは、次の要件を満たす必要があります。

  • フラッシュデバイスは、その付近に 3.3V (標準値 2.3V ~ 3.6V) で動作する必要があります。
  • フラッシュメモリが 16MB (128MB) を超える場合、デバイスウォームリセットが ROM コードの実行に影響を与えないように、リセット信号をサポートするフラッシュデバイスパッケージが必要です。
注: 使用できるフラッシュメモリにはハード制限がありませんが、AM273x は最大 4 バイトのアドレッシング通信モードのみをサポートしています。その結果、32 ビットを超えるアドレスにアクセスすることはできません。
注: SFI モードでは、AM273x の外部フラッシュのサポートは 8MB に制限されます。SFI 動作の詳細については、「AM273x テクニカルリファレンスマニュアル」の「クワッドシリアルペリフェラルインターフェイス」セクションを参照してください。

その他の使用要因

次のリストに、アプリケーションに使用するフラッシュ部品を決定するときの考慮事項をいくつか示します。

  • 必要なフラッシュは何ですか?一部のアプリケーションでは、ブートまたはストレージにメモリが使用されているかどうかによって、他のアプリケーションよりも多くのフラッシュストレージが必要です。
  • メモリ全体が使用されていますか?大容量のストレージスペースが不要な場合は、より小型で低コストのフラッシュデバイスを使用できます。
  • アプリケーションはフラッシュに大きく依存していますか?通常、アプリケーションには 8MB から 16MB で十分ですが、これは外部ストレージの使用量によって異なります。
  • フラッシュ部品はリセット信号をサポートしていますか?アプリケーションのいずれかの時点で 4 バイト アドレッシングモードを使用する必要がある場合は、リセット時の起動問題を防ぐためにリセット信号が必要です。

MCU PLUS SDK におけるフラッシュ対応

MCU PLUS SDK には、ライブラリ内の特定のフラッシュメモリ用のデフォルトのフラッシュソフトウェアサポートが付属しています。評価済みのフラッシュが要件を満たしているにもかかわらず、SDK に互換性のあるソフトウェアドライバがない場合は、フラッシュメモリのサポートを追加する方法について次のリンクを使用してください。

互換性のあるフラッシュデバイス

以下の一覧は、データシートに記載された情報に基づき、、Sitara MCU AM273x デバイスと正しく動作するための要件を満たすデバイスを示したものです。このリストは参照用にのみ使用してください。

  • W25Q シリーズ
    • メーカー:Winbond
  • GD25 シリーズ
    • メーカー:GigaDevice
注: SoC と外部フラッシュの間の物理接続の詳細については、「AM273x テクニカルリファレンスマニュアル」の「QSPI 環境」セクションを参照してください。

用語

MCU – マイコンユニット

QSPI – クワッド シリアル ペリフェラル インターフェイス

SoC – システムオンチップ

UART – ユニバーサル非同期レシーバ - トランスミッタ

SBL -セカンダリブートローダ

ROM – 読み取り専用メモリ

SFI – シリアルフラッシュインターフェイス

SDK – ソフトウェア開発パッケージ