Табл. 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 анализирует состояние внутренних магистралей МК. Если команда монитора требует для реализации только один машинный цикл, то работа прикладной программы не нарушается. Если же монитору необходимо несколько циклов, то работа процессора приостанавливается до завершения выполнения отладочной команды.
В области памяти модуля BDM расположены пять служебных регистров (табл. 3.6). Регистр INSTRUCTION хранит переданный из персонального компьютера код исполняемой команды отладки.
Адрес | Имя регистра |
---|---|
0xFF00 | INSTRUCTION — регистр кода выполняемой команды BDM |
0xFF01 | STATUS — регистр состояния блока BDM |
0xFF02–0xFF03 | SHIFTER — данные, передаваемые блоком BDM |
0xFF04–0xFF05 | ADDRESS — адрес регистра или ячейки памяти BDM |
0xFF06 | CCRSAV — содержимое регистра признаков CCR |
Табл. 3.6. Регистры модуля отладки BDM