Arduino Mega 2560 ajoutant une mémoire externe de 32 Ko
##Aperçu
Le processeur ATMEGA pour Arduino présente un inconvénient en termes de spécifications matérielles. Autrement dit, la mémoire de données (RAM) ne suffit pas. En raison de l'architecture du processeur, un tableau de données constant consommera de la mémoire RAM si vous souhaitez y accéder directement.
Pour ATMEGA 2560, il dispose d'un bus mémoire externe pour ajouter plus de SRAM (données) jusqu'à 64 Ko (mémoire interne superposée). Dans ce projet, nous ajoutons uniquement 32 Ko de mémoire de l'adresse 0x8000 à 0xFFFF. Avec 8K de RAM interne, vous disposerez d’un total de 40K de RAM.
Nous pouvons certainement configurer la RAM du programme (pile et tas) sur cette mémoire externe. Mais nous laissons probablement de côté la mémoire interne de 8 Ko. Ce projet configure la mémoire externe sous forme de tas afin que la mémoire interne 8K soit toujours utilisée comme avant. Vous devez allouer la mémoire externe avant utilisation. L'exemple de programme démontre l'utilisation.
Ajoutez le contenu du fichier platformboards.txt dans le fichier [ARDUINO INSTALL FOLDER]hardwarearduinoavrboards.txt . Avant de compiler le projet xmem32k, choisissez la carte Tools->board->Mega avec tas 32K de RAM externe .
La fiche technique de l'ATMEGA 2560 contient des informations sur la façon d'ajouter de la mémoire externe. Le matériel Arduino UNO ne dispose pas de bus mémoire externe.
Signal | Port | Numéro de broche défini par Arduino |
---|---|---|
WR | (PG0) | 41 |
DR | (PG1) | 40 |
ALE | (PG2) | 39 |
AD0-AD7 | (PA0-PA7) | 22, 23, ..., 29 |
A8-A15 | (PC0-PC7) | 37, 36, ..., 30 |