4. Что должен уметь отладчик
Читать/писать регистры
Читать/писать память
Продолжить выполнение программы
Остановить выполнение программы
Выполнить одну инструкцию
Вывести отладочные сообщения
5. Инфраструктура
Средства разработки (binutils, gcc,
newlib, gdb)
Отладочная плата
Интерфейс подключения к ПК
(COM-порт/ USB-UART преобразователь/
Ethernet)
7. Базовые команды
'?' — запрос текущего состояния
'g'/'G' — читать/писать регистры
'p'/'P' — читать/писать регистр
'm'/'M' — читать/писать память
'c' — продолжить выполнение
's' — выполнить одну инструкцию
'q' — запрос информации
'z'/'Z' — установить/удалить точку
останова
8. Требования с отладочному
монитору
Минимальные используемые ресурсы
(память, периферийные модули)
Максимальная прозрачность работы
Минимальные ограничения,
налагаемые на основную программу
Простота использования (физическое
подключение и программное)
9. Требования к МК
Наличие модуля связи (UART, Ethernet
MAC/PHY)
Наличие инструкции программного
прерывания (размер которой меньше
либо равен размеру любой другой
инструкции)
10. Структура монитора
Платформозависимые функции
Работа с контекстом
Управление интерфейсом обмена
Управление точками останова и
пошаговым выполнением
Платформонезависимые функции
Приём/отправка команд
Обработка команд
Выполнение команд чтения/записи
регистров и памяти
13. Ограничения
Запрет на запрет прерываний
Запрет на спящие режимы
Запрет на изменение частоты работы
периферии
Периферия продолжает работу при
остановке ПО
Чтение регистров периферии может
иметь побочные эффекты
Нет записи в ПЗУ (отладка кода в ПЗУ
невозможна)