Arduino Mega 2560 adicionando memória externa de 32K
##Visão geral
CPU ATMEGA para Arduino tem uma desvantagem na especificação de hardware. Ou seja, a memória de dados (RAM) não é suficiente. Devido à arquitetura da CPU, a matriz de dados constante consumirá memória RAM se você quiser direcionar o acesso.
Para ATMEGA 2560, possui barramento de memória externa para adicionar mais SRAM (dados) de até 64K (sobreposição de memória interna). Neste projeto, adicionamos apenas 32K de memória do endereço 0x8000 a 0xFFFF. Com 8K de RAM interna, você terá um total de 40K de RAM.
Certamente podemos configurar a RAM do programa (pilha e heap) nesta memória externa. Mas provavelmente deixaremos de fora a memória interna de 8k. Este projeto configura a memória externa como heap para que a memória interna de 8K ainda seja usada como antes. Você deve alocar a memória externa antes de usar. O programa de amostra demonstra o uso.
Adicione o conteúdo do arquivo platformboards.txt ao arquivo [ARDUINO INSTALL FOLDER]hardwarearduinoavrboards.txt . Antes de compilar o projeto xmem32k, escolha a placa Tools->board->Mega with heap 32K external RAM .
A ficha técnica do ATMEGA 2560 contém informações sobre como adicionar memória externa. O hardware Arduino UNO não possui barramento de memória externa.
Sinal | Porta | Número do pino definido pelo Arduino |
---|---|---|
WR | (PG0) | 41 |
DR | (PG1) | 40 |
ALE | (PG2) | 39 |
AD0-AD7 | (PA0-PA7) | 22, 23, ..., 29 |
A8-A15 | (PC0-PC7) | 37, 36, ..., 30 |