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

      Адрес

      Наименование

      Бит 7

      Бит 6

      Бит 5

      Бит 4

      Бит 3

      Бит 2

      Бит 1

      Бит 0

      +0x00

      STATUS

      -

      -

      -

      -

      -

      -

      NVMEN

      -

      +0x01

      RESET

      RESET[7:0]

      +0x02

      CTRL

      -

      -

      -

      -

      -

      GUARDTIME[2:0]

      +0x03

      (резерв)

       

       

       

       

       

       

       

       

      +0x04

      (резерв)

       

       

       

       

       

       

       

       

      +0x05

      (резерв)

       

       

       

       

       

       

       

       

      +0x06

      (резерв)

       

       

       

       

       

       

       

       

      +0x07

      (резерв)

       

       

       

       

       

       

       

       

      +0x08

      (резерв)

       

       

       

       

       

       

       

       

      +0x09

      (резерв)

       

       

       

       

       

       

       

       

      +0x0A

      (резерв)

       

       

       

       

       

       

       

       

      +0x0B

      (резерв)

       

       

       

       

       

       

       

       

      +0x0C

      (резерв)

       

       

       

       

       

       

       

       

      +0x0D

      (резерв)

       

       

       

       

       

       

       

       

      +0x0E

      (резерв)

       

       

       

       

       

       

       

       

      +0x0F

      (резерв)

       

       

       

       

       

       

       

       

      +0x10

      (резерв)

       

       

       

       

       

       

       

       

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

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

  • Чтение/запись любого пространства памяти с помощью

  • внешнего программатора

  • программы

  • Возможность самопрограммирования под управлением программы загрузчика

  • поддержка чтения во время записи в процессе самопрограммирования

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

  • Для загрузки кода программы может использоваться любой коммуникационный интерфейс

  • Внешнее программирование

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

  • Программирование через последовательный интерфейс PDI или JTAG

  • Быстродействующие и надежные интерфейсы

  • Отдельные биты Boot Lock позволяют ограничить

  • доступ для внешнего программирования

  • доступ к загрузочному сектору

  • доступ к сектору прикладной программы

  • доступ к сектору таблицы приложения

  • Fuse-бит RESET задает положение вектора сброса в начале

  • сектора прикладной программы или

  • загрузочного сектора

  • Простой алгоритм выполнения операций

  • Эффективная поддержка операций типа "чтение-модификация-запись"

    1. Обзор

В данном разделе приводится описание механизмов программирования энергонезависимой памяти (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-биты предусмотрены у загрузочного сектора, секторы прикладной программы и сектора таблицы приложения. Все они доступны, как при внешнем программировании, так и при самопрограммировании.

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

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

    1. NVM-команды

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

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

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