Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HCS12 с применением языка С - royallib.ru.doc
Скачиваний:
125
Добавлен:
11.03.2016
Размер:
2.28 Mб
Скачать

4.8. Подсистема памяти мк dp256

Карта памяти для МК DP256 приведена на рис. 4.12. Расположение различных модулей памяти в адресном пространстве МК чрезвычайно похоже на рассмотренный ранее МК B32. Основное отличие подсистемы памяти DP256 от B32 — это наличие системы страничной адресации, которая позволяет обращаться к более чем 64 Кб памяти с использованием 16 разрядной магистрали адреса. Объем резидентной памяти МК DP256 составляет 256 Кб. Модули резидентного ОЗУ, EEPROM и регистры специальных функций доступны, как и ранее, с использованием обычной адресации в пределах 64 Кб (см. рис. 4.12). Основная часть ПЗУ программ разделена на страницы по 16 Кб, причем каждая из страниц может отображаться на одном и том же адресном пространстве $8000–$BFFF. Выбор конкретной страницы осуществляется занесением под управлением программы ее кода в специальный регистр. Поэтому частое переключение между страницами программной памяти замедляет исполнение программы.

Рис. 4.12.  Карта памяти МК семейства HCS12 DP256

Вопросы для самопроверки

1. Каков объем Flash памяти программ МК B32?

Ответ:  32 Кб.

2. Как занести программу пользователя во Flash-память МК B32, установленного на отладочной плате M68EVB912B32?

Ответ:  Для этого может быть использована программа загрузчика, которая поместит программу пользователя в область EEPROM, начиная с адреса $D000, или в область Flash ПЗУ начиная с адреса $8000. Однако в последнем случае программа монитора отладки D-Bug12 будет потеряна.

3. Сколько раз можно перепрограммировать резидентное Flash ПЗУ программ МК?

Ответ:  100 раз в МК семейства 68HC12 и 10000 раз в МК семейства HCS12.

4. Сколько раз можно перезаписать данные в энергонезависимой памяти данных типа EEPROM?

Ответ:  гарантированное число циклов стирания/программирования резидентной энергонезависимой памяти данных равно 10000. На практике это число значительно больше.

4.9. Состояния сброса и прерывания мк

В процессе исполнения прикладной программы МК реализует монотонную многократно повторяющуюся последовательность действий:

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

• Дешифрацию кода команды;

• Выборку из памяти следующих байтов команды;

• Исполнение команды;

• Сохранение в памяти результатов исполнения команды.

Если исполняется линейная последовательность команд, то содержимое счетчика PC центрального процессора постоянно увеличивается на 1, обеспечивая выборку из памяти следующих команд прикладной программы. Линейная последовательность исполняемых команд может быть изменена под управлением самой программы, например инструкциями «jmp» или «branch». При этом в счетчик команд под управлением программы будет записано новое число, и начнется исполнение следующего линейного фрагмента программы из другого сегмента памяти программ. Несмотря на явные различия механизмов формирования следующего за исполнением текущей операции значения счетчика команд PC, в обоих рассмотренных случаях это следующее значение PC определяется ходом вычислительного процесса и предсказывается программистом в ходе написания прикладной программы.

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

Встроенный в МК механизм реагирования на внешние события авторы данной книги именуют исключениями, поскольку внешние события нарушают нормальную, назначенную программистом последовательность исполнения команд. По способу обработки микроконтроллером исключения подразделяются на прерывания и сброс. В русскоязычной литературе термин «исключение» обычно не используется, и говорят просто о состоянии прерывания или о состоянии сброса микроконтроллера (примечание переводчика). Сохраняя оригинальный стиль авторов, далее в книге будем использовать термин «исключение».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]