Главная » Микроконтроллеры
Призовой фонд
на январь 2017 г.
1. 1000 руб.
Radio-Sale
2. Регулируемый паяльник 60 Вт
Паяльник
3. 600 руб.
От пользователей
4. Тестер компонентов LCR-T4
Паяльник

Память

Примечания.
1. Не во всех моделях ATtiny и только из области загрузчика.
2. Доступны не все FUSE-биты.
3. Только в режиме отладки.

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

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

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

  

Тип памяти

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

Последовательное
программирование при низком напряжении

Параллельное и последовательное
программирование при высоком напряжении

Интерфейс JTAG

Интерфейс debugWire

Чтение

Запись

Чтение

Запись

Чтение

Запись

Чтение

Запись

Чтение

Запись

FLASH

+

+ (1)

+

+

+

+

+

+

+

+

SRAM

+

+

-

-

-

-

+(3)

+(3)

+

+

EEPROM

+

+

+

+

+

+

+

+

+

+

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

 +(1)

-

 +(2)

 +(2)

+

+

+

+

-

-

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

 +(1)

-

+

+

+

+

 +(2)

 +(2)

-

-

Калибровочные
ячейки и ячейки идентификатора

-

-

+

-

+

-

+

-

-

-

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

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

Организация FLASH памяти программ ATmega8
Рис.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 слов.

Перейти к следующей части:

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Модуль измерения тока на ACS712 (30А) UNI-T UT-61A
вверх