Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
• $F780…$F7FF — таблица векторов для режима отладки;
• $F800…$FBFF — зарезервированная разработчиком область;
• $FC00…$FFBF — код программы загрузчика в EEPROM;
• $FFC0…$FFFF — вектора сброса и прерывания.
Из представленного распределения адресного пространства МК в составе платы отладки видно, что код программы отладчика занимает практически всю область Flash ПЗУ, которая в реальных проектах предназначается для прикладной программы управления. А где же предполагается размещать отлаживаемую программу? Ответ на этот вопрос Вы найдете в параграфе 4.3.1.
4.7.2. Изменение адресов в карте памяти МК
Внимательно проанализировав распределение адресного пространства в карте памяти МК, можно заметить, что часть доступного адресного пространства не используется резидентной памятью микроконтроллера. Так в МК B32 (рис. 4.11) в диапазоне адресов $01FF…$0800, $0BFF…$0D00 и $0FFF…$8000 память отсутствует. Именно это незанятое адресное пространство может быть использовано для подключения внешней памяти в расширенных режимах работы МК. В процессе подключения внешней памяти может оказаться, что отдельные блоки внутренней памяти МК желательно «переместить» в пределах адресного пространства МК. Тогда схемотехника подключения внешней памяти упростится. Для назначения новых, виртуальных адресов блоков резидентной памяти МК предназначены три регистра специальных функций:
• INITRG — регистр базового адреса блока регистров специальных функций;
• INITRM — регистр базового адреса блока ОЗУ;
• INITEE — регистр базового адреса блока EEPROM.
В состоянии сброса МК эти регистры указывают на реальные, физические адреса перечисленных блоков памяти. Назначение виртуальных адресов блоков обычно происходит на начальном этапе выполнения программы в секции инициализации.
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 под управлением специальных аппаратных средств микроконтроллера, которые реагируют на внешние события. Включение в работу механизма принудительного изменения текущего значения счетчика команд нельзя считать аварийным состоянием микропроцессорной системы. Это лишь специальное состояние, которое позволяет организовать эффективное распределение ресурса одного центрального процессора для обслуживания нескольких устройств, генерирующих в реальном времени несвязанные между собой внешние события.
Встроенный в МК механизм реагирования на внешние события авторы данной книги именуют исключениями, поскольку внешние события нарушают нормальную, назначенную программистом последовательность исполнения команд. По способу обработки микроконтроллером исключения подразделяются на прерывания и сброс. В русскоязычной литературе термин «исключение» обычно не используется, и говорят просто о состоянии прерывания или о состоянии сброса микроконтроллера (примечание переводчика). Сохраняя оригинальный стиль авторов, далее в книге будем использовать термин «исключение».
Читать дальшеИнтервал:
Закладка: