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

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

Рисунок 12.1. Статическая приоритезация

      1. Динамическая приоритезация

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

Рисунок 12.2. Динамическая приоритезация

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

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

    1. Описание регистров

      1. Status - регистр статуса pmic-контроллера

Бит

7

6

5

4

3

2

1

0

 

+0x00

NMIEX

-

-

-

-

HILVLEX

MEDLVLEX

LOLVLEX

STATUS

Чтение/запись

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Чт.

Нач значение

0

0

0

0

0

0

0

0

  1. Бит 7 - NMIEX: обработка немаскируемого прерывания

Данный флаг устанавливается на время обработки немаскируемого прерывания. Сброс флага выполняется при выполнении инструкции возврата из процедуры обработки прерывания (RETI).

  1. Биты 6:3 - Res: резервные биты

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

  1. Бит 2 - HILVLEX: обработка прерывания высокого уровня

Данный флаг находится в высоком состоянии, когда выполняется обработка прерывания высокого уровня или когда обработка прерывания прервана немаскируемым прерыванием. Флаг автоматически сбрасывается при выходе из процедуры обработки прерывания (т.е. при выполнении инструкции RETI).

  1. Бит 1 - MEDLVLEX: обработка прерывания среднего уровня

Данный флаг находится в высоком состоянии, когда выполняется обработка прерывания среднего уровня или когда обработка прерывания прервана немаскируемым прерыванием или прерыванием высокого уровня. Флаг автоматически сбрасывается при выходе из процедуры обработки прерывания (т.е. при выполнении инструкции RETI).

  1. Бит 0 - LOLVLEX: обработка прерывания низкого уровня

Данный флаг находится в высоком состоянии, когда выполняется обработка прерывания среднего уровня или когда обработка прерывания прервана немаскируемым прерыванием или прерыванием более высокого уровня. Флаг автоматически сбрасывается при выходе из процедуры обработки прерывания (т.е. при выполнении инструкции RETI).

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