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

Доступ для чтения и записи 24- и 32-битных регистров выполняется также как и 16-битных, за исключением количества использующихся временных регистров. Для доступа к 24-битному регистру используется два временных регистра, а к 32-битному - три. Очередность записи и чтения необходимо начинать с младшего байта.

    1. Защита от изменения конфигурации

Регистры, которые отвечают за настройку критичных системных параметров, защищены от несанкционированной модификации. Также предусмотрены защиты от ошибочного выполнения инструкции SPM и считывания с помощью инструкции LPM конфигурационных бит и сигнатурного кода. Данные защиты реализованы на глобальном уровне посредством регистра защиты от изменения конфигурации (CCP). Изменение защищенных регистров ввода-вывода или их отдельных бит, а также выполнение защищенных инструкций возможно только после записи ЦПУ сигнатуры в регистр CCP. Отличия сигнатур будут приведены в описании регистров.

Предусмотрено 2 режима работы: один для защищенных регистров ввода-вывода и один для защищенных инструкций SPM/LPM.

      1. Последовательность записи защищенных регистров ввода-вывода

  1. Кодом программы выполняется запись сигнатуры в регистр CCP, что разрешает изменение защищенных регистров ввода-вывода.

  2. В течение 4 последующих циклов инструкций кодом программы необходимо записать требуемые данные в защищенный регистр. У большинства защищенных регистров предусмотрен свой бит разрешения записи/разрешения изменения. В данный бит необходимо записать единицу вместе с записью данных. Возможность защищенного изменения блокируется сразу после выполнения ЦПУ операции записи в регистр ввода-вывода или памяти данных, а также, после выполнения инструкции SPM, LPM или SLEEP.

      1. Последовательность выполнения защищенных инструкций spm/lpm

  1. Кодом программы выполняется запись сигнатуры в регистр CCP, что разрешит выполнение защищенной инструкции SPM/LPM.

  2. В течение 4 последующих циклов код программы получает возможность выполнить соответствующую инструкцию.

Защищенное изменение отключается сразу после выполнения ЦПУ операции записи в память данных или после выполнения инструкции SLEEP.

Сразу после записи ЦПУ корректной сигнатуры прерывания будут игнорироваться в течение промежутка времени, которое выделено для изменения конфигурации. Все запросы прерывания (в т.ч. немаскируемые прерывания), которые возникают в течение защищенного изменения конфигурации, приводят к установке соответствующего флага прерывания и, поэтому, запрос запоминается, как отправленный. По завершении интервала защищенного изменения все отправленные запросы прерываний будут обработаны в соответствии с их уровнем и приоритетом.

Запросы DMA обрабатываются обычным образом и никак не влияют на период разрешения изменений конфигурации. Сигнатура, записанная посредством DMA, игнорируется.

    1. Fuse-биты для блокировки изменений

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

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

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