Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
378
Добавлен:
21.05.2015
Размер:
7.55 Mб
Скачать
        1. Вычисление crc в секторе прикладной программы/загрузочном секторе

Данные команды предназначены для проверки содержимого сектора прикладной программы и загрузочного сектора после самопрограммирования.

  • Запишите в регистр NVM CMD команду проверки CRC в секторе прикладной программы/загрузочном секторе.

  • Установите бит CMDEX в регистре NVM CTRLA с использованием привязанной ко времени последовательности CCP.

На время вычисления CRC устанавливается флаг BUSY в регистре NVM STATUS, а работа ЦПУ приостанавливается. Результат вычисления контрольной суммы CRC будет доступен в регистрах данных NVM.

        1. Стирание сигнатурного кода пользователя

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

  • Запишите в регистр NVM CMD команду стирания сигнатурного кода пользователя.

  • Выполните инструкцию SPM с использованием привязанной ко времени последовательности CCP.

На время выполнения операции устанавливается флаг BUSY в регистре NVM STATUS, а работа ЦПУ приостанавливается. Сектор сигнатурного кода пользователя относится к типу NRWW.

        1. Запись сигнатурного кода пользователя

Данная команда предназначена для записи содержимого страничного буфера Flash-памяти в сектор сигнатурного кода пользователя.

  • Запишите в регистр NVM CMD команду записи сигнатурного кода пользователя.

  • Выполните инструкцию SPM с использованием привязанной ко времени последовательности CCP.

На время выполнения операции устанавливается флаг BUSY в регистре NVM STATUS, а работа ЦПУ приостанавливается. По завершении записи инициируется очистка страничного буфера Flash-памяти, при этом, остановка ЦПУ не выполняется.

        1. Чтение сигнатурного кода пользователя/калибровочных данных

Данные команды предназначены для чтения одного байта из сектора сигнатурного кода пользователя или сектора калибровочных данных.

  • Запишите в Z-указатель адрес подлежащего чтению байта.

  • Запишите в регистр NVM CMD команду чтения сигнатурного кода пользователя/калибровочных данных.

  • Выполните инструкцию LPM.

Загрузка регистра-получателя выполняется в процессе выполнения инструкции LPM.

      1. NVM-команды доступа к Fuse- и Lock-битам

В таблице 30.3 представлены NVM-команды Flash-памяти, предоставляющие доступ к Fuse- и Lock-битам. Все эти команды являются командами с запуском по действию. Для их выполнения необходимо установить бит CMDEX в регистре NVM CTRLA.

В столбце "Защита от изменения" указывается, защищен запуск инструкции механизмом защиты от изменения конфигурации (CCP) или нет. В двух последних столбцах приведены данные об используемых указателе адреса и регистре данных.

Алгоритм работы каждой команды более детально рассматривается в подразделах 30.11.3.1 и 30.11.3.2.

Таблица 30.3. Команды доступа к Fuse- и Lock-битам

CMD[6:0]

Групповая конфигурация

Описание

Запуск

Останов ЦПУ

Занятость NVM

Защита от изменения

Указатель адреса

Регистр данных

0x00

NO_OPERATION

Нет операции

-

-

-

-

-

-

Fuse- и Lock-биты

0x07

READ_FUSES

Чтение Fuse-бит

CMDEX

Нет

Занят

Нет

ADDR

DATA

0x08

WRITE_LOCK_BITS

Запись Lock-бит

CMDEX

Нет

Занят

Есть

ADDR

-

Соседние файлы в папке Архитектура ЭВМ