Arduino Mega XMEM32k
1.0.0
Arduino Mega 2560 に外部 32K メモリを追加
##概要
Arduino 用 ATMEGA CPU には、ハードウェア仕様に 1 つの欠点があります。つまり、データメモリ(RAM)が足りません。 CPU アーキテクチャにより、直接アクセスする場合、定数データ配列は RAM メモリを消費します。
ATMEGA 2560 の場合、最大 64K (重複する内部メモリ) まで SRAM (データ) を追加するための外部メモリ バスがあります。このプロジェクトでは、アドレス 0x8000 から 0xFFFF までの 32K メモリのみを追加します。内部 8K RAM を使用すると、合計 40K RAM になります。
この外部メモリでプログラム RAM (スタックとヒープ) を確実に構成できます。ただし、内部 8K メモリは省略される可能性があります。このプロジェクトでは、内部 8K メモリが以前と同様に使用されるように、外部メモリをヒープとして構成します。使用する前に外部メモリを割り当てる必要があります。サンプルプログラムでは使い方をデモしています。
ファイルplatformboards.txtの内容をファイル[ARDUINO INSTALL FOLDER]hardwarearduinoavrboards.txtに追加します。プロジェクト xmem32k をコンパイルする前に、ボード[Tools]->board->[Mega with heap 32K external RAM]を選択します。
ATMEGA 2560 データシートには、外部メモリを追加する方法が記載されています。 Arduino UNO ハードウェアには外部メモリ バスがありません。
信号 | ポート | Arduino で定義されたピン番号 |
---|---|---|
WR | (PG0) | 41 |
RD | (PG1) | 40 |
エール | (PG2) | 39 |
AD0~AD7 | (PA0~PA7) | 22、23、...、29 |
A8~A15 | (PC0~PC7) | 37、36、...、30 |