MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
マイコンの基礎 - メモリ増設のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
マイコンの基礎 - メモリ増設
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == メモリの外部拡張機能のあるマイコンであれば、簡単にメモリを増設することができる。<br> また、増設したメモリは、マイコンから見る場合は、マイコンのメモリ領域に拡張される形で扱うことができる。<br> <br> しかし、メモリの外部拡張機能はマイコンによって異なるため、ここでは、STM32F7シリーズのSTM32F7x5を例に記載する。<br> <br> STM32F7x5は、外部メモリに簡単にアクセスできるフレキシブルメモリコントローラ(以下、FMCという)が搭載されている。<br> FMCを使用すると、外部にPSRAM、NORフラッシュ、NANDフラッシュ、同期DRAM等が接続できる。<br> <br> 下図に、FMCのブロック図(図(a))とアドレスマップ(図(b))を示す。<br> アドレス空間内に4つのバンクを持ち、バンク1はNORフラッシュ / PSRAM / SRAM、バンク3はNANDフラッシュ、SDRAMバンク1と2はSDRAMに対応している。<br> 各アドレス範囲は、下図(b)の通りである。<br> [[ファイル:MCU Memory Expansion 1.jpg|フレームなし|中央]] <center>図. STM32F7x5のFMCのブロック図とアドレスマップ(STM32F7x5のリファレンスマニュアルRM0385から抜粋)</center><br> <br> Quad SPIインタフェース(以下、QSPIという)を持つ外部メモリであれば、STM32F7x5のQSPIモジュールを使用して接続できる。<br> QSPIのメモリマップドモードを使用すると、外部メモリはアドレス空間(0x90000000台)に配置され、内部メモリであるかのようにみなされる。<br> <br> QSPIの詳細は、[[マイコンの基礎 - Quad SPI]]を参照すること。<br> <br><br> == メモリの外部拡張機能 == 多くのマイコンにメモリの外部拡張機能が搭載されており、その仕様や名称、使用方法等はマイコンによって異なる。<br> したがって、各マイコンのマニュアルやアプリケーションノートを参照する必要がある。<br> <br> ここでは、STM32F7シリーズのSTM32F745を例に記載する。<br> <br> STM32F745には、Arm Cortex-M7(以下、Cortex-M7という)が搭載されている。<br> 下図(a)に示すように、Cortex-M7の扱えるメモリ空間は0x00000000~0xFFFFFFFFの4[GB]だが、実際のマイコンに4[GB]のメモリを搭載することは不可能である。<br> そこで、ターゲットとするマイコンをベースとした必要最低限の実メモリを搭載する。<br> <br> 例えば、STM32F745ではフラッシュメモリを1[MB]、SRAMを320[KB]搭載している。<br> しかし、システムを開発する上で、ファームウェアのサイズが予定よりも大きくなったり、RAM領域が不足する場合がある。<br> このような場合、メモリの外部拡張機能を使用して、プログラムコード領域やRAM領域を増設できる。<br> <br> 下図(a)に、Cortex-M7オリジナルのメモリ空間を示す。<br> <br> 各領域は、0.5[GB]または1[GB]で区切られており、<br> アドレスの小さい方から、0.5[GB]ごとにプログラムコード用、内蔵SRAM用、周辺機能のメモリマップドレジスタ用となっている。<br> 最も大きな領域はCortex-M7専用の領域になっており、その間のアドレス0x60000000~0xDFFFFFFFがメモリの外部拡張機能用に割り当てられている。<br> それぞれ、外部RAM用と外部デバイス用に1[GB]単位で区切られている。<br> [[ファイル:MCU Memory Expansion 2.jpg|フレームなし|中央]] <center>図. Arm Cortex-M7とSTM32F745のFSMCのメモリ空間</center><br> <br> STM32F745では、この外部拡張機能用の領域を、FMC用とQSPI用に割り当てている。<br> FMCの扱うアドレス空間内は全部で6個のバンクあるが、その内2個のバンクは使用されていないため、有効なバンクは4個となる。<br> バンク1はNORフラッシュ / PSRAM / SRAM、バンク3はNANDフラッシュ(QSPIと共用)、SDRAMバンク1と2はSDRAMにそれぞれ対応している。<br> <br> FMCを使用して外部のSRAMにアクセスする場合、バンク1に割り当てられている0x60000000~0x6FFFFFFFに外部のSRAMが見える。<br> 外部に接続された単体のSRAMのアドレスは0x000から始まり、実際には0x60000000台ではないが、<br> FMCがアドレス変換を行い、マイコンから見ると仮想的に0x60000000台に配置される。<br> また、QSPIを使用した場合は、0x90000000台に配置される。<br> <br><br> __FORCETOC__ [[カテゴリ:ARM]][[カテゴリ:AVR]][[カテゴリ:MSP430]][[カテゴリ:STM32]][[カテゴリ:H8]]
マイコンの基礎 - メモリ増設
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse