Skip to main content

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

動機#

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

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

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

目標#

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

検証#

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

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

前提条件#

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

作業内容#

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

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

A non-memory-mapped QSPI flash is configured in STM32CubeMX like a memory-mapped QSPI flash.

コード#

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

void readNonaddressableFlash(uint32_t from, uint8_t *into, uint32_t n){  ...}
uint8_t bytes[1000];
//read external FlashreadNonaddressableFlash(0xab001212, bytes, 1000);

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