|
Поиск по сайту: |
|
По базе: |
![]() |
| Главная страница > Статьи > Средства разработки | |||||||||
|
|
||||||||||||||||||||||
ОтладкаДля отладки мной используется целая цепочка средств: аппаратный отладчик, сервер отладки и порт программы gdb (GNU Debugger) из инструментария. Как сообщалось ранее, для успешной работы gdb требуется, чтобы был запущен в фоновом режиме сервер отладки st-util. Программа gdb взаимодействует с сервером отладки, используя механизм межпроцессного обмена - сокеты. Этот механизм позволяет обмениваться данными процессам запущенным не только на одном компьютере, но и на разных компьютерах в сети. В микроконтроллер загружена программа, плата подключена к компьютеру. В фоновом режиме запущена программа st-util с нужными параметрами командной строки, она видит микроконтроллер и ждёт подключения на порт 4242. Если все эти условия выполнены, то можно запускать gdb:
Отладчик готов и ждёт дальнейших команд. Подключаемся к серверу:
Загружаем файл ex1.elf с отладочной информацией:
Проверяем содержимое регистра pc:
По сбросу микроконтроллер перешёл на метку _start . Листинг программы:
Дизассемблируем часть кода с начального адреса:
Выполняем одну инструкцию:
Смотрим содержимое регистра r0 :
Смотрим память, 7 байт с адреса 0x36 в формате hex:
Количество аппаратных точек останова может быть ограничено и зависит от аппаратуры отладчика и микроконтроллера. Аппаратные точки останова можно ставить без проблем в области ROM. Возможна установка и удаление точек останова без прерывания сеанса отладки. Ставим аппаратную точку отладки в строку 18 ассемблерного текста:
Запускаем программу до точки останова:
Получаем информацию об имеющихся точках останова:
Удаляем точку останова:
В интернете можно найти документацию по отладчику GDB на русском языке. Существует множество программ предоставляющих более удобный интерфейс пользователя (front-end gdb), нежели командная строка: Insight , Eclipse CDT , Code::Blocks.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
||||||||||||||||||||||