|
бесплатные средства отладки: миф или реальность? |
|
|
|
Jan 29 2007, 15:52
|
Участник

Группа: Свой
Сообщений: 46
Регистрация: 29-01-07
Из: Саратов
Пользователь №: 24 841

|
Проблема вот в чем: нужен отладчик для процессоров с ARM-м ядром, который бы распостранялся бесполатно..... Сам работаю в IAR, крякнутой как вы понимаете версии. И просто ради интереса: а чем вы сами-то пользуетесь???
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jan 30 2007, 07:50
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997

|
Цитата(etoja @ Jan 29 2007, 16:45)  Используй отладочную печать через RS232 - не придётся бороться с драйверами JTAG. Будьте любезны извините! Пользуюсь JTAG, а этот метод мне незнаком. Где можно найти инфу по этому? С уважением PARAMON!
|
|
|
|
|
Jan 30 2007, 11:03
|
Частый гость
 
Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868

|
Цитата(Alex_rav(зеленинький я есть) @ Jan 30 2007, 09:43)  Цитата(etoja @ Jan 29 2007, 16:45)  Используй отладочную печать через RS232 - не придётся бороться с драйверами JTAG.
объясните пожалуйста что ето такое??? Это разновидность brute force debugging - то есть отладки с модификацией своей программы. Обычно пишется своя функция putchar (или putc, не помню, читайте доку по вашей libc) и подключается к библиотечной функции printf. Эта putchar выводит в уарт контроллера заданый символ. Потом пишется макрос #define DEBUG_PRINTF(...) printf(__VA_ARGS__) и вставляется в некий serialdebug.h, который подключается как #include везде где только можно. И после этого в вашей программе в любом месте (ну желательно не в обработчике прерывания и подобных критичных по времени местах) пишется например DEBUG_PRINTF("Елки, оно ж сюда вообще заходить не должно!!! x=%p, y=%d",x,y). И при выполнении этого участка программы на экране вашего компьютера, подключенного COM-портом через MAX232 или аналогичный конвертор к упомянутому уарту МК вы увидите надпись. Преимущество метода в том что программа ваша не останавливается при отладке (иногда это лучший метод понять что происходит), недостаток - в том что если нужно посмотреть другую переменную или что-то поменять - нужно пересобирать и заново заливать в контроллер программу. В общем - каждому свое. Да, после того как ваша программа достаточно приблизилась к идеалу - заменяете дефайн на пустой #define DEBUG_PRINTF(...) и все эти задержки на вывод отладочной инфы пропадают.
|
|
|
|
|
Jan 30 2007, 11:26
|
Участник

Группа: Свой
Сообщений: 46
Регистрация: 29-01-07
Из: Саратов
Пользователь №: 24 841

|
Цитата Это разновидность brute force debugging - то есть отладки с модификацией своей программы.
Обычно пишется своя функция putchar (или putc, не помню, читайте доку по вашей libc) и подключается к библиотечной функции printf. Эта putchar выводит в уарт контроллера заданый символ. Потом пишется макрос #define DEBUG_PRINTF(...) printf(__VA_ARGS__) и вставляется в некий serialdebug.h, который подключается как #include везде где только можно. И после этого в вашей программе в любом месте (ну желательно не в обработчике прерывания и подобных критичных по времени местах) пишется например DEBUG_PRINTF("Елки, оно ж сюда вообще заходить не должно!!! x=%p, y=%d",x,y). И при выполнении этого участка программы на экране вашего компьютера, подключенного COM-портом через MAX232 или аналогичный конвертор к упомянутому уарту МК вы увидите надпись. Преимущество метода в том что программа ваша не останавливается при отладке (иногда это лучший метод понять что происходит), недостаток - в том что если нужно посмотреть другую переменную или что-то поменять - нужно пересобирать и заново заливать в контроллер программу. В общем - каждому свое. Да, после того как ваша программа достаточно приблизилась к идеалу - заменяете дефайн на пустой #define DEBUG_PRINTF(...) и все эти задержки на вывод отладочной инфы пропадают. спасибо, принцип понят.....
|
|
|
|
|
Jan 30 2007, 11:37
|
Участник

Группа: Свой
Сообщений: 46
Регистрация: 29-01-07
Из: Саратов
Пользователь №: 24 841

|
Цитата(KRS @ Jan 30 2007, 11:27)  А мне нравится Wigler + H-JTAG и под ИАРом эта связка отлично работает Да мне тоже нравится, сам под ним работаю, вернее учусь пока работать.... Дело в том, что официально его не распостраняют бесплатно
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|