Найти в Дзене
Будни инженера

Оперативная память AVR

Память данных микроконтроллеров AVR представляет собой отдельное адресное пространство с адресами от $0000 до $FFFF. И, поскольку наибольший адрес может быть $FFFF, то наибольший возможный объем памяти составляет 64 КБ.

Но большинство микроконтроллеров имеет гораздо меньшую память. В

таких микроконтроллерах часть адресов не используется. Структура же

памяти всегда одинакова. В графическом виде эта структура для микроконтроллера ATtiny13A выглядит так:

То есть в этой модели всего 64 байта оперативной памяти (SRAM), которая расположена в диапазоне адресов 0х0060…0х009F.

Однако 32 регистра и область ввода-вывода также являются частью оперативной памяти. Поэтому общий объём оперативной памяти для данной модели будет 160 байт. Таким образом, оперативная память делится на три области:

Последнюю область можно использовать для хранения любых данных. Эту область в свою очередь можно разделить на:

  • Область внутреннего ОЗУ: адреса от 0х0060 до RAMEND.
  • Область внешнего ОЗУ: адреса от RAMEND+1 до 0xFFFF.

Здесь под RAMEND имеется в виду последний адрес доступной внутренней оперативной памяти. В случае с моделью ATtiny13A:

RAMEND = 0х009F

Следовательно, если используется внешняя оперативная память, то первый её адрес будет:

RAMEND + 1 = 0х009F + 1 = 0х00A0

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…