реклама на сайте
подробности

 
 
> WinAVR + Code::Blocks - отладка, как работать в этой связке с GDB?
ARV
сообщение Oct 11 2008, 09:48
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Заинтересовался Code::Blocks, как альтернативе AVR Studio. Привлекает бесплатность и универсальность. Особенно обрадовался наличию поддержки отладки... однако, с GDB никогда никаких дел не имел, вообще смутно представляю, как можно отлаживать в консольном режиме... Судя по всему, Code::Blocks обеспечивает GUI для GDB, однако, не смотря на то, что компиляция происходит, отладка не получается - выводится месседж типа "неизвестно, что отлаживать" - и отладчик завершает работу.
Кроме того, упорно компилирует сначала avr-gcc.exe, а потом avr-g++.exe, хотя проект на чистом Си... В итоге получается, скорее всего, что-то не то... makefile тоже в папке проекта нет...
Установил опцию "создавать lss" - но листинг не создается...

В общем, если кто может помочь - отзовитесь!


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVR
сообщение Oct 12 2008, 11:45
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(ARV @ Oct 11 2008, 13:48) *
Заинтересовался Code::Blocks, как альтернативе AVR Studio. Привлекает бесплатность и универсальность. Особенно обрадовался наличию поддержки отладки... однако, с GDB никогда никаких дел не имел, вообще смутно представляю, как можно отлаживать в консольном режиме... Судя по всему, Code::Blocks обеспечивает GUI для GDB, однако, не смотря на то, что компиляция происходит, отладка не получается - выводится месседж типа "неизвестно, что отлаживать" - и отладчик завершает работу.
Я делаю так:
Создаю два скриптика - один заливает прогу во флэш и проверяет как записалось + GDB стартует:
avarice -j /dev/ttyUSB0 -e -f ./hex/ig.elf.hex -P atmega16 -p -v :4242
второй просто проверяет что то что во флэше то что нужно и запускает GDB сервер (чтобы флэш не марать если программа не изменилась):
avarice -j /dev/ttyUSB0 -f ./hex/ig.elf.hex -P atmega16 -v :4242

Далее в среде CodeBlocks меню Project-Properties-Debugger-Remote debugging support (GDB only) пишу для каждой target
Connection type: TCP
IP address: 127.0.0.1 - так как на этом же компьютере и запускаю отладку
Port: 4242 - потому что в своих скриптиках я указал чтобы GDB сервер висел именно на этом порте (:4242)

Сначала запускаю один из скриптов и вижу что GDB ожидает соединение. Затем запускаю в CodeBlocks Debug-Start и понеслась smile.gif

В итоге получается удобная отладка прямо в тексте программы, происходящая непосредственно в среде CodeBlocks, которая мало чем отличается от отладки программы для windows/Linux. Всё что я описал я пробовал под Linux, как под маздай не знаю, но по идее должно работать и там...

Мой программатор USB-JTAG-ICE, поэтому я воспользовался программой avarice - она поддерживает много программаторов под разными ОС. Если программатор другой - достаточно запустить avarice --help и найти какие ключи подавать чтобы работать с конкретным программатором-отладчиком...

Если будут вопросы - пиши.


--------------------
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 06:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016