LINUX.ORG.RU

дебаг приложений для avr

 , , ,


0

1

Пока что все мои программки для микроконтроллеров достаточно маленькие и простые, но со временем они усложняются. Поэтому начал задумываться о том, как дебажить свой код. Если с хостовым сишным кодом все более-менее просто: есть gdb и всякие ide, то как быть с кодом для микроконтроллеров? Как дебажить? У меня простой самопаянный программатор usb-asp, для дебага нужно что-то более крутое?

Хост - ubuntu или mac os x. Если под винду средства разработки будут сильно лучше - раздобуду винду.

Ответ на: комментарий от Harald

в голове :)

this.

Think before implement!

Теоретичеси ATmeg'и можно через JTAG дебагить. Но я до этого никогда так и не добрался.

Из альтренативных путей — помигать.

Или, что ещё лучше — вывод дебажной инфы в серийную консоль. (Прикрутить TTL-USB — это не проблема.)

beastie ★★★★★ ()
Ответ на: комментарий от Harald

это конечно хорошо, а можно что-нибудь для средних умов? =)

ft232r ()
Ответ на: комментарий от beastie

JTAG-ом можно дебажить в линуксе или нужно какой-нибудь win-only ide?

ft232r ()
Ответ на: комментарий от Harald

вскрывать корпус микрухи и цепляться осциллографом к внутренней логике? ну чтобы посмотреть состояние регистров и прочей памяти

ft232r ()

Логику отлаживай на хосте, используя заглушки микрофич.

Сами микрофичи отлаживай силой. Если вывод недоступен, а хочетсо, пиши в некий журнал (набор указателей на _flash строки), а в конце его выводи (или читай из eeprom, если совсем плохо с uart).

Для отладки взаимодействия железа сооруди прослушку, что бы подключаться параллельно к uart.

Или заюзай симулятор.

anonymous ()
Ответ на: комментарий от ft232r

нет, к внешним выводам

состояние регистров и памяти можно мысленно предсказывать

а осциллографом можно проверить,насколько реальное поведение контроллера в плане дёрганья ножек отличается от желаемого

Harald ★★★★★ ()

Я начинал со светодиодов, потом JTAG. Сейчас бы посоветовал использовать свободный UART. А если он занят для какой-то работы, то рядом с рабочими посылками - отладочные с отладочной инфой, может даже текстовой.

Не знаю насколько это верно, но подробный принтинг я очень люблю, логи обожаю...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от beastie

Теоретичеси ATmeg'и можно через JTAG дебагить.

практически - тоже.

aiqu6Ait ★★ ()
Ответ на: комментарий от ft232r

вскрывать корпус микрухи

корпус микрухи

корпус

WAS??!

unt1tled ★★★★ ()

кстати, что используешь в макоси? мне пришлось ставить венду на макбук, чтобы кодить и нормально отлаживать контроллеры на Cortex M4

unt1tled ★★★★ ()

Если под винду средства разработки будут сильно лучше

AVR Studio 4.19 (в крайнем случае 5) - под онтопик ничего похожего и близко нет.

для дебага нужно что-то более крутое

avr jtagice mkii, например

Old_Hamster ★★★ ()
Последнее исправление: Old_Hamster (всего исправлений: 1)
Ответ на: комментарий от ft232r

ну это для начала слишком аскетично и совсем не практично

unt1tled ★★★★ ()
Ответ на: комментарий от ft232r

какая венда? зачем?
в сети полно сайтов про отладку на AVR, и даже на русском языке. например, с полпинка гуголь выдал:
http://avr.ru/tools/linux/debug
я сама давненько не работала с AVR, но раньше совершенно спокойно отлаживалась с JTAG под линём. можно ещё симуляторы использовать, если есть под конкретный чип.

Iron_Bug ★★★★ ()

Я заказал у китайцев клон avr jtagice mk2 за 400р., должен через недельку приехать. А так обычно дебажу светодиодами, которые есть на плате.

WRG ★★★★ ()
Ответ на: комментарий от prischeyadro

Отладочный printf в uart.

Ну и как это поможет отловить ситуацию когда у тебя, допустим, стек прорастает в сегмент данных?

anonymous ()
Ответ на: комментарий от WRG

а можно сцыль? а то на aliexpress по запросу jtagice mk2 - выдает что-то за 5 - 7 т.р.

ft232r ()
Ответ на: комментарий от anonymous

надо считать глубину стека заранее, в процессе разработки

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Да ну, тяжко это каждый раз пересчитывать

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.