Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR

реклама

 




Мероприятия:




30. Программирование запоминающих устройств

30.1. Отличительные особенности

  • Чтение/запись любого пространства памяти с помощью
    • внешнего программатора
    • программы
  • Возможность самопрограммирования под управлением программы загрузчика
    • поддержка чтения во время записи в процессе самопрограммирования
    • ЦПУ может исполнять код программы во время программирования Flash-памяти
    • Для загрузки кода программы может использоваться любой коммуникационный интерфейс
  • Внешнее программирование
    • Поддержка внутрисистемного и производственного программирования
    • Программирование через последовательный интерфейс PDI или JTAG
    • Быстродействующие и надежные интерфейсы
  • Отдельные биты Boot Lock позволяют ограничить
    • доступ для внешнего программирования
    • доступ к загрузочному сектору
    • доступ к сектору прикладной программы
    • доступ к сектору таблицы приложения
  • Fuse-бит RESET задает положение вектора сброса в начале
    • сектора прикладной программы или
    • загрузочного сектора
  • Простой алгоритм выполнения операций
  • Эффективная поддержка операций типа "чтение-модификация-запись"

30.2. Обзор

В данном разделе приводится описание механизмов программирования энергонезависимой памяти (NVM) микроконтроллеров XMEGA, в т.ч. самопрограммирование и внешнее программирование. NVM состоит из Flash-памяти программы, сигнатурного кода, Fuse- и Lock-бит, а также EEPROM памяти данных. Более детально об организации памяти и регистрах NVM-контроллера, участвующих в доступе к памяти, см. в разделе 4 "Запоминающие устройства".

Доступ к NVM (чтение или запись) можно осуществить как из прикладной программы с использованием возможности самопрограммирования, так и внешне с помощью программатора. Независимо от используемого способа программирования, доступ к NVM осуществляется при участии общего NVM-контроллера. Благодаря этому, оба метода программирования становятся близкими друг к другу. Доступ к памяти выполняется следующим образом. Вначале загружается адрес и/или данные NVM, а затем задаются и запускаются команды, указывающие какие именно действия нужно выполнить NVM-контроллеру над энергонезависимой памятью.

В режиме внешнего программирования для чтения и записи доступны все пространства памяти, кроме области калибровочных данных. В этой области поддерживается только чтение. Микроконтроллеры допускают внутрисистемное программирование через контроллер PDI с использованием физического интерфейса PDI или JTAG (более детально об этом см. в 30.12 "Внешнее программирование").

Самопрограммирование, выполняемое программой в загрузочном секторе, позволяет пользователю прочитать и записать сектор прикладной программы Flash-памяти, сигнатурный код пользователя и EEPROM, а также записать Lock-биты для выбора уровня защиты и прочитать калибровочные данные и состояние Fuse-бит. Во время самопрограммирования Flash-память сохраняет возможность чтения (тип памяти "Read-While-Write", т.е. чтение во время записи). Это означает, что во время программирования Flash-памяти ЦПУ может выполнять выборку и исполнение инструкций. Более детально об этом см. в 30.11 "Самопрограммирование под управлением программы загрузчика".

Как при использовании самопрограммирования, так и при использовании внешнего программирования для проверки целостности сектора Flash-памяти может быть применен механизм автоматической проверки CRC. При необходимости пользователь может защитить NVM от чтения и/или записи. Отдельные lock-биты предусмотрены у загрузочного сектора, секторы прикладной программы и сектора таблицы приложения. Все они доступны, как при внешнем программировании, так и при самопрограммировании.

30.3. NVM-контроллер

Любой доступ к энергонезависимой памяти происходит при участии NVM-контроллера. Он отвечает за соблюдение временной диаграммы доступа к NVM и за привилегии доступа, а также за сбор информации о состоянии NVM. Для внешнего программирования и самопрограммирования предусмотрен общий интерфейс NVM. Более детально об NVM-контроллере см. в 30.13 "Описание регистров".

30.4. NVM-команды

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

Запуск команды, даже после загрузки требуемой команды и установки адреса и данных, может произойти не сразу, а при возникновении условия запуска команды. Всего существует три типа команд с различными условиями запуска.

30.4.1. Команды с запуском по действию

Запуск таких команд происходит, когда выполняется запись бита исполнения команды (CMDEX) в регистре управления А (CTRLA) NVM-контроллера. Команды с запуском по действию обычно используются в операциях, которые не требуют чтения или записи NVM, например, проверка CRC.

30.4.2. Команды с запуском по чтению NVM

Запуск этих команд происходит, когда выполняется чтение NVM. Команды с запуском по чтению обычно используются при выполнении операций чтения NVM.

30.4.3. Команды с запуском по записи NVM

Запуск этих команд происходит, когда выполняется запись NVM. Команды с запуском по записи обычно используются при выполнении операций записи NVM.

30.4.4. Механизм CCP для защиты записи/исполнения

Большинство запусков команд защищены от несанкционированной модификации/исполнения. Это достигается за счет использования возможности защиты от изменения конфигурации (CCP), которая заключается в применении специальной последовательности записи или исполнения при необходимости изменения бита или исполнения инструкции. Более детально о работе CCP см. в 3.12 "Защита от изменения конфигурации".



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





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники