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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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 -

Запись Lock-бит

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

· Запишите в регистр NVM DATA0 новое значение Lock-бит.

· Запишите в регистр NVM CMD команду записи Lock-бит.

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

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

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

По завершении записи Lock-бит происходит автоматическое стирание страничного буфера EEPROM и Flash-памяти.

Чтение Fuse-бит

Данная команда предназначена для чтения из программы Fuse-бит.

· Запишите в регистры NVM ADDR адрес, подлежащего чтению байта с fuse-битами.

· Запишите в регистр NVM CMD команду чтения Fuse-бит.

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

Результат выполнения операции будет доступен в регистре NVM DATA0. На время выполнения команды ЦПУ приостанавливает работу.

Программирование EEPROM

Команды чтения и записи EEPROM можно выполнять из любой части Flash-памяти. Доступ к EEPROM выполняется побайтно или постранично. Это означает, что за один подход можно выполнить запись в EEPROM либо одного байта, либо одной страницы. При чтении EEPROM возвращается один байт.

Адресация EEPROM

Доступ к EEPROM, также как и к Flash-памяти программ, осуществляется через NVM-контроллер, который расположен в пространстве памяти ввода-вывода. Альтернативно, доступ к EEPROM можно выполнять аналогично SRAM через пространство памяти данных.

Когда доступ к EEPROM выполняется посредством NVM-контроллера, для адресации используется регистр адреса NVM (ADDR), а для чтения/записи данных - регистр данных NVM (DATA).

При программировании страницы EEPROM, регистр ADDR можно представить в виде двух битовых полей. Младшие биты адреса задают адрес байта в странице, а старшие биты задают номер страницы EEPROM. Это отражено на рисунке 30.3. Адрес байта в странице (E2BYTE) задается битами [1:BYTEMSB] регистра ADDR. Оставшиеся биты [PAGEMSB:BYTEMSB+1] регистра ADDR хранят адрес страницы EEPROM (E2PAGE).

Совместно битовые поля E2BYTE и E2PAGE образуют абсолютный адрес байта в EEPROM. Размер полей E2WORD и E2PAGE зависит от размера страницы и объема flash-памяти МК, сведения о которых приведены в документации на МК.

Рисунок 30.3. Адресация EEPROM в пространстве памяти ввода-вывода

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

Чтение из EEPROM можно выполнить напрямую с использованием инструкций чтения с прямой или косвенной адресацией. При выполнении чтения отображаемого в памяти данных страничного буфера EEPROM, ЦПУ перед выполнением очередной инструкции приостанавливается на 3 цикла.

После активизации отображения EEPROM в памяти данных, возможность выполнения загрузки страничного буфера EEPROM и чтения EEPROM через NVM-контроллер отключается.

NVM-команды EEPROM

В таблице 30.4 представлены NVM-команды, помощью которых можно выполнить доступ к EEPROM через NVM-контроллер. Команды самопрограммирования EEPROM с запуском по действию исполняются после установки бита CMDEX в регистре NVM CTRLA. Команды с запуском по чтению исполняются при чтении регистра NVM DATA0 (DATA0).

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

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

Таблица 30.4. Команды самопрограммирования EEPROM



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 312; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.78.41 (0.005 с.)