В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


4.3. Flash-память программ

МК XMEGA интегрируют внутрисистемно-перепрограммируемую Flash-память, предназначенную для хранения кода программы. Чтение и запись Flash-памяти можно выполнить с помощью внешнего программатора через интерфейс PDI, или под управлением исполняемой ЦПУ программы.

Все инструкции AVR являются 16- или 32-битными, а ячейки Flash-памяти - 16-битными. Flash-память МК XMEGA разделена на два основных сектора: сектор прикладной программы и загрузочный сектор (см. рисунок 4.1). Размеры каждого сектора являются фиксированными и зависят от типа МК. У каждого из секторов имеются отдельные lock-биты и предусмотрены различные уровни защиты. Для записи Flash-памяти можно использовать инструкцию записи в память программ (SPM), но при условии ее исполнения в загрузочном секторе. В секторе прикладной программы имеется сектор таблицы приложения с отдельными lock-битами. Его можно использовать для безопасного хранения энергонезависимых данных в памяти программ.

Секторы Flash-памяти
Рисунок 4.1. Секторы Flash-памяти

4.3.1. Сектор прикладной программы

Сектор прикладной программы является сектором Flash-памяти, который используется для хранения исполняемого кода программы. Уровень защиты сектора прикладной программы выбирается битами Boot Lock для этого сектора. В секторе прикладной программы не может храниться программа загрузчика, поскольку выполнение в этом секторе инструкции SPM не поддерживается.

4.3.2. Сектор таблицы приложения

Сектор таблицы приложения является частью сектора прикладной программы Flash-памяти и может использоваться для хранения данных. Его размер идентичен загрузочному сектору. Уровень защиты сектора таблицы приложения выбирается битами Boot Lock этого сектора. Возможность задания разных уровней защиты сектора прикладной программы и сектора таблицы приложения делает хранение параметров в памяти программ более безопасным. В случае отсутствия потребности в хранении данных в этом секторе, его можно использовать для хранения кода программы.

4.3.3. Загрузочный сектор

Если сектор прикладной программы используется для хранения кода программы приложения, то код программы загрузчика должен быть размещен в загрузочном секторе. Это связано с тем, что инструкция SPM будет работать по назначению только при выполнении ее в загрузочном секторе. Инструкция SPM может осуществлять доступ к любой части Flash-памяти, в т.ч. загрузочный сектор, из которого она выполняется. Уровень защиты загрузочного сектора задается его Lock-битами. Если в хранении в данном секторе программы загрузчика нет потребности, то его можно использовать для хранения кода прикладной программы.

4.3.4. Сигнатурный код производителя

Сигнатурный код производителя - отдельный сектор памяти, в котором хранятся запрограммированные производителем данные, в т.ч. калибровочная информация таких встроенных функциональных блоков, как генераторы и аналоговые модули. Часть калибровочных данных автоматически загружается во время сброса в соответствующие модули или УВВ. Остальные же необходимо программно загрузить из сигнатурного кода производителя и записать в соответствующие регистры УВВ. Более детальная информация относительно калибровки температурной зависимости, разброса опорных напряжений и др. приведена в документации на МК.

В сигнатурный код производителя также входит идентификационный код МК, по которому можно установить тип каждого микроконтроллера, а также серийный номер, который индивидуален для каждого выпущенного МК. Серийный номер состоит из номера партии, номера пластины и координаты кристалла МК на пластине. Сигнатурный код производителя нельзя стереть или перезаписать, но зато его можно считать программно или с помощью внешнего программатора.

4.3.5. Сигнатурный код пользователя

Сигнатурный код пользователя - отдельный сектор памяти, полностью доступный для чтения и записи и со стороны прикладной программы, и со стороны внешнего программатора. Сигнатурный код производителя равен по объему одной странице flash-памяти и предназначен для хранения статических параметров пользователя, как, например, калибровочные данные, специальные серийные номера или идентификационные коды, случайные числовые последовательности и др. Команда стирания Flash-памяти Chip Erase на данный сектор не распространяется. Для стирания сигнатурного кода пользователя предусмотрена отдельная команда стирания. Этим гарантируется сохранность параметров во время частых циклов программирования/стирания и во время работы со встроенной отладочной системой.



<-- Предыдущая страница Оглавление Следующая страница -->