マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。59問目は、初級者の方からよく質問される「マイコンにおけるメモリ外付け(メモリ増設)方法」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、初心者から多く寄せられる質問です。
マイコンの内蔵メモリだけでは足りないので、外部メモリを増設したいです。具体的にどのような方法で増設すればよいでしょうか?
また、増設したメモリは、CPUからはメモリ領域が拡張されたようにみえるのでしょうか?
メモリの外部拡張機能が付いたマイコンであれば、簡単に外部メモリを増設することができ、増設したメモリはCPUからみたメモリ領域に拡張される形で扱えます。しかし、メモリの外部拡張機能はマイコンによって異なるため、ここでは汎用32ビットマイコン「STM32F7シリーズ」の「STM32F7x5」(STマイクロエレクトロニクス製)を例に説明します。
STM32F7x5には、外部メモリに簡単にアクセスできるフレキシブルメモリコントローラ(Flexible Memory Controller/以下、FMC)が搭載されています。FMCを使うと、外部にPSRAM、NORフラッシュ、NANDフラッシュ、同期DRAMなどを接続できます。FMCのブロック図および、アドレスマップを図1(a)と図1(b)に示します。アドレス空間内に4つのバンクを持ち、バンク1はNORフラッシュ/PSRAM/SRAMメモリに対応し、バンク3はNANDフラッシュに対応し、SDRAMバンク1と2はSDRAMに対応しています。各アドレス範囲は、図1(b)で示した通りです。
Quad SPIインタフェース(以下、QSPI)を持つ外部メモリであれば、STM32F7x5の持つQSPIモジュールを使って接続できます。QSPIのメモリマップドモードを使うと、外部メモリはアドレス空間(0x90000000台)に配置され、あたかも内部メモリであるかのようにみなされます。QSPIについては「Q&Aで学ぶマイコン講座(20):Quad SPIって何?」を参照してください。
Copyright © ITmedia, Inc. All Rights Reserved.