В области памяти модуля 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