Arduino Mega 2560 с добавлением внешней памяти 32 КБ
##Обзор
Процессор ATMEGA для Arduino имеет один недостаток в аппаратной спецификации. То есть памяти данных (ОЗУ) недостаточно. Из-за архитектуры ЦП массив постоянных данных будет занимать ОЗУ, если вы хотите иметь прямой доступ.
Для ATMEGA 2560 имеется шина внешней памяти для добавления большего количества SRAM (данных) до 64 КБ (перекрывающаяся внутренняя память). В этом проекте мы добавляем только 32 КБ памяти с адреса 0x8000 по 0xFFFF. С внутренней оперативной памятью 8 КБ у вас будет всего 40 КБ ОЗУ.
Мы, безусловно, можем настроить программную оперативную память (стек и кучу) в этой внешней памяти. Но тогда мы, вероятно, не учитываем внутреннюю память 8 КБ. В этом проекте внешняя память настроена как куча, чтобы внутренняя память 8 КБ по-прежнему использовалась, как и раньше. Перед использованием необходимо выделить внешнюю память. Пример программы демонстрирует использование.
Добавьте содержимое файла Platformboards.txt в файл [ПАПКА УСТАНОВКИ ARDUINO]hardwarearduinoavrboards.txt . Прежде чем компилировать проект xmem32k, выберите плату Tools->board->Mega с кучей внешней оперативной памяти 32K .
В техническом описании ATMEGA 2560 содержится информация о том, как добавить внешнюю память. Аппаратное обеспечение Arduino UNO не имеет шины внешней памяти.
Сигнал | Порт | Номер контакта, определенный Arduino |
---|---|---|
WR | (PG0) | 41 |
РД | (PG1) | 40 |
ЭЛЬ | (PG2) | 39 |
АД0-АД7 | (ПА0-ПА7) | 22, 23, ..., 29 |
А8-А15 | (ПК0-ПК7) | 37, 36, ..., 30 |