Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
№ команды | Имя команды | Код операции | Данные |
---|---|---|---|
1 | BACKGROUND | 90 | – (нет) |
2 | READ_BD_BYTE | E4 | 16 бит адреса, 16 бит данных (вывод) |
3 | STATUS | E4 | FF01, 00000000 (вывод) |
4 | FF01, 10000000 (вывод) | ||
5 | FF01, 110000000 (вывод) | ||
6 | READ_BD_WORD | EC | 16 бит адреса, 16 бит данных (вывод) |
7 | READ_BYTE | E0 | 16 бит адреса, 16 бит данных (вывод) |
8 | READ_WORD | E8 | 16 бит адреса, 16 бит данных (вывод) |
9 | WRITE_BD_BYTE | C4 | 16 бит адреса, 16 бит данных (ввод) |
10 | ENABLE_FIRMWARE | C4 | FF01, 1xxxxxxx (ввод) |
11 | WRITE_BD_ WORD | CC | 16 бит адреса, 16 бит данных (ввод) |
12 | WRITE_BYTE | C0 | 16 бит адреса, 16 бит данных (ввод) |
13 | WRITE_ WORD | C8 | 16 бит адреса, 16 бит данных (ввод) |
Табл. 3.3.Команды отладки, исполняемые аппаратными средствами модуля отладки BDM
№ команды по табл.3.3 | Описание команды |
---|---|
1 | Ввод в режим отладки с использованием монитора BDM |
2 | Чтение байта из области памяти блока BDM. Адрес указан в команде. Если адрес четный, то искомый байт содержится в старшем байте возвращаемого 16-ти разрядного слова. Если адрес нечетный, то искомый байт в младшем байте 16-разрядного слова. |
3 | Частный случай команды READ_BD_BYTE. Производится чтение регистра состояния модуля BDM. Считанный код 00000000 означает, что МК не может быть переведен в режим отладки и работает только под управлением прикладной программы. |
4 | Частный случай команды READ_BD_BYTE. Производится чтение регистра состояния модуля BDM. Считанный код 10000000 означает, что режим отладки разрешен и МК может быть переведен в режим отладки инструкцией BACKGROUND из табл. 3.3. |
5 | Частный случай команды READ_BD_BYTE. Производится чтение регистра состояния модуля BDM. Считанный код 11000000 означает, что МК находится в режиме отладки. |
6 | Чтение 16 разрядного слова из области памяти блока BDM по указанному в команде адресу. Адрес должен быть четным и указывать на старший байт возвращаемого из МК слова. |
7 | Чтение байта из области памяти МК. Адрес указан в команде. Если адрес четный, то искомый байт содержится в старшем байте возвращаемого 16-тиразрядного слова. Если адрес нечетный, то искомый байт в младшем байте 16 разрядного слова. |
8 | Чтение слова из области памяти МК по указанному в команде адресу. Адрес должен быть четным и указывать на старший байт возвращаемого из МК слова. |
9 | Запись байта в область памяти блока BDM. Если в команде указан четный адрес, то байт для записи содержится в старшем байте передаваемого 16-тиразрядного слова. Если адрес нечетный, то байт для записи — в младшем байте 16 разрядного слова. |
10 | Частный случай команды WRITE_BD_BYTE. Производится запись в регистр состояния STATUS модуля BDM. Передаваемый в регистр состояния код 1xxxxxxx разрешает работу программно аппаратных средств модуля отладки BDM. Для перевода МК в режим отладки необходимо далее подать команду BACKGROUND из табл. 3.3. |
11 | Запись слова в область памяти блока BDM по указанному в команде адресу. Адрес должен быть четным и указывать на старший байт передаваемого в память BDM слова. |
12 | Запись байта в область памяти МК. Если в команде указан четный адрес, то байт для записи содержится в старшем байте передаваемого 16-ти разрядного слова. Если адрес нечетный, то байт для записи — в младшем байте 16-разрядного слова. |
13 | Запись слова в область памяти МК по указанному в команде адресу. Адрес должен быть четным и указывать на старший байт передаваемого в память МК слова. |
Табл. 3.4.Описание аппаратных команд модуля отладки BDM
Другая часть команд отладки исполняется под управлением программы монитора отладки, которая хранится в ПЗУ модуля BDM. Это ПЗУ располагается в общем адресном пространстве МК по адресам 0xFF00…0xFFFF. Память блока BDM доступна только в режиме отладки. В рабочем режиме ячейки памяти с этими адресами используются для других целей, в частности для размещения векторов прерываний. Перечень команд, исполняемых монитором отладки, представлен в табл. 3.5.
Имя команды | Код операции | Данные | Описание |
---|---|---|---|
GO | 08 | — | Исполнять прикладную программу |
10 | ТRAСЕ1 | — | Выполнить одну команду прикладной программы и вернуться в монитор отладки |
18 | TAGGO | — | Разрешить режим отладки и вернуться к исполнению прикладной программы |
WRITE_NEXT | 42 | 16 бит данных (ввод) | X=X+2. Записать следующее слово по 0,X |
WRITE_PC | 43 | 16 бит данных (ввод) | Записать данные в счетчик команд |
WRITE_D | 44 | 16 бит данных (ввод) | Записать данные в аккумулятор D |
WRITE_X | 45 | 16 бит данных (ввод) | Записать данные в регистр X |
WRITE_Y | 46 | 16 бит данных (ввод) | Записать данные в регистр Y |
WRITE_SP | 47 | 16 бит данных (ввод) | Записать данные в указатель стека |
READ_NEXT | 62 | 16 бит данных (вывод) | X=X+2. Читать следующее слово по 0,X |
READ_PC | 63 | 16 бит данных (вывод) | Читать счетчик команд |
READ_D | 64 | 16 бит данных (вывод) | Читать аккумулятор D |
READ_X | 65 | 16 бит данных (вывод) | Читать регистр X |
READ_Y | 66 | 16 бит данных (вывод) | Читать регистр Y |
READ_SP | 67 | 16 бит данных (вывод) | Читать указатель стека |
Табл. 3.5.Команды отладки, исполняемые монитором BDM
Для того, чтобы использование команд монитора отладки стало возможным, необходимо сначала установить бит ENBDM в регистре состояния STATUS (0xFF01), а затем выполнить команду BACKGROUND. Формат регистра состояния STATUS представлен на рис. 3.6.

Рис. 3.6.Формат регистра состояния модуля отладки ВDМ
Запись бита разрешения работы монитора отладки ENBDM осуществляется командой ENABLE_FIRMWARE из перечня аппаратных команд BDM (табл. 3.3). Отметим, что если МК 68HC12B32 сконфигурирован для работы в однокристальном режиме, то во время сброса бит ENBDM устанавливается в 1. Аппаратная команда отладки BACKGROUND также передается из персонального компьютера. Эта команда переводит МК в режим работы под управлением монитора отладки, когда центральный процессор на время прекращает выполнение основной программы и реализует команды монитора отладки. Для выполнения команд монитора отладки модуль BDM анализирует состояние внутренних магистралей МК. Если команда монитора требует для реализации только один машинный цикл, то работа прикладной программы не нарушается. Если же монитору необходимо несколько циклов, то работа процессора приостанавливается до завершения выполнения отладочной команды.
Читать дальшеИнтервал:
Закладка: