メイン・コンテンツまでスキップ

7. 外部Flash(非メモリ・マップド・モード)

動機

NAND FlashのようなメモリマップされないFlashメモリを使用する場合、そこに格納されているデータ・アセットをTouchGFXが使用できるように、ドライバを開発する必要があります。

このトピックの詳細は、「画像の格納にメモリマップされないFlashを使用する」セクションを参照してください。

Note
ボード立ち上げにアドレス指定できない外部Flashが関係しない場合は、このステップをスキップしてください。

目標

このステップの目標は、メモリマップされないFlashメモリ内の場所から複数バイト読み出し、配列に格納できるドライバを作成することです。

検証

次の表に、このセクションの検証ポイントを示します。

検証ポイント検証内容
Flashの内容の確認Flashから読み出される内容が正しいこと。
性能の検証マイクロコントローラの設定に応じた読出し性能であること。

前提条件

  • Flashに関する情報(通常はデータシート)
  • マイクロコントローラと外部Flashの接続に関する情報
  • Flashの速度

作業内容

通常、NAND FlashはマイクロコントローラのFMCを介して設定します。

必ずFlashに接続されるGPIOを設定してください。

メモリマップされないQSPI Flashは、STM32CubeMXで、メモリマップされるQSPI Flashと同様に設定します。

コード

Flashの特定のアドレスから複数バイト読み出せるコードを作成します。 コードの例を以下に示します。 ドライバの実装方法は、使用するFlashチップによって異なります。

void readNonaddressableFlash(uint32_t from, uint8_t *into, uint32_t n)
{
...
}

uint8_t bytes[1000];

//read external Flash
readNonaddressableFlash(0xab001212, bytes, 1000);

このコードは、後ほどTouchGFX抽象化レイヤの開発に使用します。