В процессе отладки МК обменивается данными с персональным компьютером, используя последовательный интерфейс с оригинальным протоколом. Для подключения микроконтроллера, который установлен на плате проектируемого устройства, к персональному компьютеру разработан унифицированный интерфейс, который носит название «BDM порт» (рис. 3.5). Стандартизация линий связи и типа разъема интерфейса отладки BDM позволяет разрабатывать универсальные программные пакеты и аппаратные средства отладки так, что любая аппаратная платформа на основе МК семейства 68HC12, в том числе и плата собственной разработки, способна работать под управлением любой интегрированной среды разработки для 68HC12/HCS12.
Рис. 3.5. Цоколевка разъема BDM порта
Используя порт BDM, встроенный в МК блок отладки принимает от персонального компьютера команды отладки и возвращает в персональный компьютер запрашиваемые данные. Часть команд отладки может выполняться только аппаратными средствами блока BDM, без остановки выполнения прикладной программы. При этом используются «холостые» машинные циклы внутренних магистралей, когда исполняемая прикладная программа не производит обращения к памяти. Если такие «холостые» циклы не возникают в течение 128 машинных циклов, то блок BDM захватывает последующие циклы для выполнения поступившей команды отладки. При этом выполнение прикладной программы слегка притормаживается. Обсуждаемые так называемые аппаратные команды отладки могут поступать в блок BDM от персонального компьютера не чаще, чем 1 раз в 150 машинных циклов. Перечень аппаратных команд отладки представлен в табл. 3.3. В табл. 3.4. дано описание этих команд.
№ команды | Имя команды | Код операции | Данные |
---|---|---|---|
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