Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
Табл. 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 центрального процессора во время исполнения команд монитора отладки.
Режим тегирования используется для автоматического перевода МК в режим отладки при исполнении команды, которая ранее была отмечена программистом для более подробного рассмотрения результатов ее исполнения.
Обсудив принципы организации режима отладки
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. Как показано на рис., пользователь имеет доступ к регистрам центрального процессора (левое верхнее окно), может наблюдать за изменением используемых в программе символьных переменных (среднее верхнее окно), следить за состоянием и изменять по желанию коды в ячейках памяти (правое верхнее окно), исходный текст отлаживаемой программы (два средних окна), осуществлять ввод команд отладки и наблюдать за их исполнением в окне состояния (нижнее окно).
Рис. 3.7. Система отладки на основе интерфейса BDM и платы микроконтроллером 68HC12B32
Рис. 3.8. Интерфейс пользователя отладчика P&E ICD12Z компании PEMICRO
Вы можете также организовать процесс отладки, используя другие аппаратные средства, например две платы MC68HC912B32EVB. На рис. 3.9. показана инсталляция аппаратных средств для этого случая. Одна из отладочных плат используется в качестве отладочного интерфейса BDM между персональным компьютером и платой, которая подлежит отладке. К плате MC68HC912B32EVB прилагается программное обеспечение — Motorola D-Bug12 монитор, который и будет использован для управления процессом отладки. Для того, чтобы воспользоваться таким режимом работы платы MC68HC912B32EVB, следует установить переключатели W3 и W4 платы в состояние 0 и 1 соответственно. Далее подсоединить кабель BDM от платы интерфейса к оставшейся плате MC68HC912B32EVB. Эта вторая плата будет платой целевой системы. Подключите источник питания к целевой системе. При этом плата интерфейса отладки будет питаться от этого же источника, используя BDM кабель. Теперь Вы можете использовать команды монитора отладки Motorola D-Bug12 для управления исполнением испытуемой прикладной программой.
Рис. 3.9. Система отладки на основе двух отладочных плат с микроконтроллером 68HC12B32
3.13.4. Эмуляторы
Другой способ отладки прикладной программы — использование программного пакета класса эмулятор, который изображает ход исполнения прикладной программы и при этом генерирует все аппаратные сигналы, которые были бы на выходе реального МК. Такие эмуляторы выпускают компании Noral и Hitex.
Эмуляторы полезны для тех пользователей, которые не могут купить настоящих аппаратных средств отладки. Вместе с тем, эмуляторы не следует использовать для завершающих этапов проверки работоспособности тех систем, которые жестко привязаны к реальному времени. Эмуляторы, исходя из своего принципа действия, используют персональный компьютер. Поскольку частота тактирования персонального компьютера отличается от частоты тактирования МК HC12, то и корректную имитацию исполнения программы в реальном времени гарантировать нельзя. Однако следует заметить, что некоторые компании предлагают эмуляторы с полной имитацией всех временных характеристик МК.
3.13.5. Логические анализаторы
Логический анализатор — это интеллектуальный электронный измерительный прибор, который используется для запоминания, отображения на экране и измерения временных параметров нескольких существующих одновременно логических сигналов. Функции логического анализатора по исследованию и наладке цифровых систем аналогичны функциям осциллографа для аналоговых систем. На рис. 3.10 представлена фотография логического анализатора компании Hewlett Packard, в настоящее время аналогичные приборы выпускаются под маркой Agilent.