Arduino Mega 2560 añadiendo memoria externa de 32K
##Descripción general
La CPU ATMEGA para Arduino tiene un inconveniente en la especificación de hardware. Es decir, la memoria de datos (RAM) no es suficiente. Debido a la arquitectura de la CPU, la matriz de datos constante consumirá memoria RAM si desea acceso directo.
Para ATMEGA 2560, tiene un bus de memoria externo para agregar más SRAM (datos) hasta 64 K (memoria interna superpuesta). En este proyecto, solo agregamos 32K de memoria desde la dirección 0x8000 a 0xFFFF. Con una RAM interna de 8K, tendrás un total de 40K de RAM.
Ciertamente podemos configurar la RAM del programa (pila y montón) en esta memoria externa. Pero probablemente dejemos de lado la memoria interna de 8k. Este proyecto configura la memoria externa como montón para que la memoria interna de 8K se siga utilizando como antes. Tienes que asignar la memoria externa antes de usarla. El programa de muestra demuestra el uso.
Agregue el contenido del archivo platformboards.txt al archivo [CARPETA DE INSTALACIÓN DE ARDUINO]hardwarearduinoavrboards.txt . Antes de compilar el proyecto xmem32k, elija la placa Herramientas->placa->Mega con memoria RAM externa de 32K .
La hoja de datos de ATMEGA 2560 tiene información sobre cómo agregar memoria externa. El hardware Arduino UNO no tiene bus de memoria externa.
Señal | Puerto | Número de pin definido por Arduino |
---|---|---|
WR | (PG0) | 41 |
RD | (PG1) | 40 |
CERVEZA INGLESA | (PG2) | 39 |
AD0-AD7 | (PA0-PA7) | 22, 23, ..., 29 |
A8-A15 | (PC0-PC7) | 37, 36, ..., 30 |