Чтение онлайн

ЖАНРЫ

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Пак Дэниэл Дж.

Шрифт:

Табл. 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 анализирует состояние внутренних магистралей МК. Если команда монитора требует для реализации только один машинный цикл, то работа прикладной программы не нарушается. Если же монитору необходимо несколько циклов, то работа процессора приостанавливается до завершения выполнения отладочной команды.

В области памяти модуля BDM расположены пять служебных регистров (табл. 3.6). Регистр INSTRUCTION хранит переданный из персонального компьютера код исполняемой команды отладки.

Адрес Имя регистра
0xFF00 INSTRUCTION — регистр кода выполняемой команды BDM
0xFF01 STATUS — регистр состояния блока BDM
0xFF02–0xFF03 SHIFTER — данные, передаваемые блоком BDM
0xFF04–0xFF05 ADDRESS — адрес регистра или ячейки памяти BDM
0xFF06 CCRSAV — содержимое регистра признаков CCR

Табл. 3.6. Регистры модуля отладки BDM

Регистр состояния STATUS (рис. 3.6) отражает текущий режим работы модуля BDM. Бит ENBDM установлен, если работа программы монитора отладки разрешена, т.е. могут реализовываться не только аппаратные, но и программно исполняемые команды отладки. Установленный в 1 бит BDMACT показывает, что МК прекратил выполнение прикладной программы и ожидает поступления команды отладки. Бит ENTAG отражает перевод МК в специальный режим тегирования команд. Этот режим устанавливается после исполнения команды TAGGO монитора отладки (табл. 3.5). Бит SDV является служебным битом монитора отладки, он отражает наличие данных в регистре SHIFTER блока BDM. И, наконец, бит TRACE — это признак работы МК в режиме трассировки, который назначается после исполнения инструкции TRACE1 из списка табл. 3.5.

Регистр сдвига SHIFTER предназначен для хранения данных, передаваемых или получаемых модулем отладки по последовательному интерфейсу.

Регистр ADDRESS хранит принятый в команде отладки адрес регистра или ячейки памяти. В регистре CCRSAV сохраняется состояние регистра признаков CCR центрального процессора во время исполнения команд монитора отладки.

Режим тегирования используется для автоматического перевода МК в режим отладки при исполнении команды, которая ранее была отмечена программистом для более подробного рассмотрения результатов ее исполнения.

Обсудив принципы организации режима отладки для МК семейства 68HC12, мы перейдем к рассмотрению программно аппаратных средств отладки, которые используют режим BDM и обеспечивают простой и удобный интерфейс пользователя.

3.13.3. Аппаратные и программные средства отладчика P&E от компании PEMICRO

В данном параграфе представлены краткие сведения об аппаратных и программных средствах отладки для МК семейства 68HC12, которые используют порт модуля BDM для связи с микроконтроллером. Мы остановимся на описании возможных режимов отладки с использованием пакета внутрисхемного отладчика ICD12Z в составе интегрированной среды разработки WinIDE Pemicro HC12. Отладчики от

других производителей работают схожим образом. Используя набок предоставляемых команд отладки, пользователь может обнаружить и зафиксировать ошибки в исполнении программы. Набор команд отладки приведен в табл. 3.7 и 3.8.

Имя команды Описание
А или АСС Установить значение аккумулятора А
B Установить значение аккумулятора В
BR Установить контрольную точку
CCR Установить значение регистра признаков
CLEARSYMBOL Очистить массив символов
CODE Показать дизассемблированный код в окне отладчика «Code window»
DASM Дизассемблировать инструкцию
DUMP Отобразить память в окне журнала отладки «Status window»
EXIT Выйти в DOS
G или GO Запустить программу на исполнение
GONEXT Выполнить, начиная с текущего состояния счетчика PC до начала следующего оператора 
GOTILROM Выполнить, начиная с текущего состояния счетчика PC до достижения указанного адреса в ПЗУ
HELP Показать справочную информацию
IX Установить значение индексного регистра X
LF или LOGFILE Открыть или закрыть файл журнала отладки
LOADALL Выполнить команды загрузки LOAD и LOADМAP
LOADV Выполнить команды загрузки LOAD и побайтового сравнения VERIFY
MACRO Выполнить файл макрокоманд
MACROSTART Начать запись файла макрокоманд
MD или MDx Отобразить содержимое ячеек памяти в окне «Memory window»
N Установить/сбросить бит знака N в регистре признаков CCR
REG Отобразить регистры центрального процессора в окне журнала отладки «Status window»
RTVAR Отобразить заданный адрес и содержимое ячейки с этим адресом в окне переменных «Variable window»
S Установить/сбросить бит S в регистре признаков CCR
SERIAL Установить параметры обмена для последовательного порта
SERIALON Открыть окно интерфейса связи с отладочной платформой
SS Выполнить один оператор программы на языке исходного текста
STEP or ST or Т Выполнить один оператор (команда пошаговой отладки)
STEPTIL Выполнять команду пошаговой отладки, начиная с текущего состояния счетчика PC до заданного адреса
Т [n] Выполнить заданное число n команд пошаговой отладки
ТRAСЕ Запустить программу на исполнение и включить режим трассировки
V Установить/сбросить бит переполнения V в регистре признаков CCR
VERIFY Сравнить содержимое памяти программ МК с кодами файла в формате S19
WHEREIS Отобразить код названного символа
Z Установить/сбросить бит нулевого результата Z в регистре признаков CCR

Табл.3.7. Команды интерфейса пользователя отладчика P&E

Имя команды Описание
ASM [add] Записать в память по заданному адресу код введенной команды
BELL Подать звуковой сигнал
BF Заполнить блок памяти константой
С Установить/сбросить бит нулевого переполнения C в регистре признаков CCR
CLEARMAP Очистить файл карты памяти
COLORS Изменение цветовой гаммы интерфейса пользователя
D Установить значение аккумулятора D
DUMP_TRACE Вывести содержимое памяти трассировки в окно «Debug window»
EVAL Вычислить выражение
FILL Заполнить блок памяти константой (аналог BF)
GOUNTIL Выполнить программу до указанного адреса
H Установить/сбросить бит дополнительного переноса H в регистре признаков CCR
I Установить/сбросить бит глобальной маски прерывания I в регистре признаков CCR
IY Установить значение индексного регистра Y
LOAD Загрузить файл в формате S19
LOADMAP Загрузить файл символьных имен *.map
LOAD_BIN Загрузить файл исполняемого кода с указанного в команде адреса
LPT1, LPT2, LPT3 Выбрать параллельный порт для обмена
МACROEND Остановить запись файла макрокоманд
МACS Вывести перечень макрокоманд
мм or МЕМ Изменить содержимое ячеек памяти
NOBR Сбросить все контрольные точки
QUIT Выход из программы
REM Добавить комментарии к файлу макрокоманд
RESET Имитировать сброс микроконтроллера
RUN Начать исполнение программы
SCRIPT Выполнить файл макрокоманд
SERIALOFF Закрыть окно интерфейса связи с отладочной платформой
SHOWTRACE Показать результаты трассировки
SOURCEPATH Указать имя и путь к файлу
STATUS Отобразить регистры центрального процессора в окне журнала отладки «Status window»
STEPFOR Выполнить по шагам до контрольной точки
SYMBOL Добавить символ в текущий список символьных имен
TIME Показать время исполнения программы
UPLOAD_SREC Обновить содержимое ячеек памяти на экране отладчика
VAR Показать значение переменной или ячейки памяти в окне переменных «Variable window»
VERSION Показать версию программного обеспечения
X Установить/сбросить бит X в регистре признаков CCR

Табл.3.8. Команды интерфейса пользователя отладчика P&E

На рис. 3.7. представлен необходимый для организации процесса отладки набор аппаратных средств. На рис. 3.8. показан вид экрана монитора компьютера в процессе использования пакета отладчика ICD12Z. Как показано на рис., пользователь имеет доступ к регистрам центрального процессора (левое верхнее окно), может наблюдать за изменением используемых в программе символьных переменных (среднее верхнее окно), следить за состоянием и изменять по желанию коды в ячейках памяти (правое верхнее окно), исходный текст отлаживаемой программы (два средних окна), осуществлять ввод команд отладки и наблюдать за их исполнением в окне состояния (нижнее окно).

Поделиться с друзьями: