Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

Память

Память

Примечания.

1. Не во всех моделях ATtiny и только из области загрузчика.

2. Доступны не все FUSE-биты.

3. Только в режиме отладки.

Микроконтроллеры AVR имеют 7 типов памяти, каждый из которых расположен в собственном адресном пространстве. Это энергонезависимая FLAS-память программ (ПЗУ), статическая память

данных SRAM (ОЗУ), энергонезависимая EEPROM-память данных, а также конфигурационные ячейки, ячейки защиты, калибровочные ячейки и ячейки идентификаторов. Возможность доступа к различным ресурсам памяти приведена в табл.1.

Табл.1. Возможность доступа к различным ресурсам памяти.

  

Тип памяти

Прикладная программа

Последовательное

программирование при низком напряжении

Параллельное и последовательное

программирование при высоком напряжении

Интерфейс JTAG

Интерфейс debugWire

Чтение

Запись

Чтение

Запись

Чтение

Запись

Чтение

Запись

Чтение

Запись

FLASH

+

+ (1)

+

+

+

+

+

+

+

+

SRAM

+

+

+(3)

+(3)

+

+

EEPROM

+

+

+

+

+

+

+

+

+

+

Конфигурационные ячейки

  +(1)

  +(2)

  +(2)

+

+

+

+

Ячейки защиты

  +(1)

+

+

+

+

  +(2)

  +(2)

Калибровочные

ячейки и ячейки идентификатора

+

+

+

Память программ FLASH

Коды программ микроконтроллера размещаются в энергонезависимом ПЗУ, выполненной по технологии FLASH. При нормальных условиях эксплуатации, FLASH-память позволяет сохранять свое содержимое в неизменном виде в течение 40 лет и допускает как минимум 10000 циклов стирания/записи.

Рис.5 Организация FLASH памяти программ ATmega8

Организация памяти программ, на примере ATmega8, приведена на рис.5. Размер FLASH-памяти этой модели составляет 8192 байт. Но, поскольку каждая команда занимает 2 или 4 байта, то по отношению к AVR точнее будет говорить об объеме в 4096 слов. Такая размерность определяет максимально возможное число слов команд (кодов операций), доступное при написании программы.

Для адресации памяти программ используется программный счетчик PC (Program Counter) (другое название: регистр или счетчик команд). Он представляет собой регистр, в котором находится текущей адрес команды во FLASH-памяти. Таким образом, счетчик команд адресует 16-разрядные слова, а не байты, и имеет переменную разрядность, которая зависит от размера FLASH. Так у ATmega8 (4096 слов), PC имеет разрядность 12 бит, у ATmega16 (8192 слова) – 13 бит и т.д. В архитектуре AVR, PC является недоступным для программиста регистром.

Помимо своего основного назначения (хранение команд), FLASH-память AVR-микроконтроллеров также позволяет хранить пользовательские данные произвольного типа: константы, таблицы, постоянные коэффициенты и т.д. Минимальный адресуемый элемент в этом случае 1 байт. Доступ к таким данным из прикладной программы производится различными модификациями инструкции lpm.

Как правило, алгоритмы работы микроконтроллера, записанные в памяти программ, не должны изменяться во времени. Однако у AVR все-таки имеется возможность модифицировать содержимое FLASH посредством собственного программного обеспечения. Обсуждению этого вопроса посвящена глава «Самопрограммирование микроконтроллеров AVR». Там же показан и другой способ разделения FLASH на секцию прикладной программы (Application Section) и секцию загрузчика (Boot Loader Section). Изменять содержимое памяти программ можно только из области загрузчика.

В процессе программирования запись во FLASH-память происходит постранично. Размер страницы зависит от объема памяти конкретной модели и может быть равен 32, 64 или 128 слов. Перейти к следующей части:


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 4 + 2

Добавить изображение

Последние статьи