Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отладка cortex-m3 в gdb через j-link
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
artymen
Столкнулся с такой неожиданной проблемой: при отладке программы с freertos на LPC1768 (cortex m3) под gdb (yagarto toolchain) через j-link (gdb server) отладчик останавливается безо всякой на то причины на инструкции SVC 0 в коде фриртоса (в функции vPortStartFirstTask), как будто breakpoint сработал. Делаю resume, но он зацикливается на этой инструкции.
Отлаживаю во флеше. В конфигурации отладки в Eclipse прописаны команды инициализации:
Код
monitor endian little
monitor flash device = LPC1768
monitor flash download = 1
monitor flash breakpoints = 1
monitor speed 1000
monitor reg r13 = (0x00000000)
monitor reg pc = (0x00000004)

Ну и разумеется опции Reset and Delay и Halt включены. Set breakpoint at: main и Resume.
Запускается нормально, на main останавливается, продолжаю, и вскоре останавливается на vPortStartFirstTask.
Причем я забил на свой код, попробовал отладить стандартный пример CORTEX_LPC1768_GCC_RedSuite из FreeRTOS 6.1 (но не в redsuite, а yagarto опять-таки). То же самое. Однако всякие IARовские примеры отлаживаются нормально.
Кто сталкивался ? В чем тут может быть дело ?
podelkin
глюк. может стек переполнился? или только при отладке? Hook'и FreeRTOS не сработали?
artymen
Все, разобрался ! Как всегда, все банально - проц не сбрасывался в начале отладки. krapula.gif Опции "Reset and Delay" и "Halt", оказывается, не работают, собаки. Это баг/фича в "C/C++
GDB Hardware Debugging" (version 7.0.0.201009241320) feature в Eclipse CDT. Нужно вручную прописывать команду "monitor reset 0", что собствено и делается во всех gdbinit-скриптах. А я сдуру решил, что это избыточно (ведь в среде есть эти опции), что и привело к потере времени cranky.gif
Причем обидно, что я все время смотрел окно сообщений gdb сервера и не замечал, что привычное сообщение типа "Resetting target" нигде не мелькает.
podelkin
Цитата(artymen @ Oct 25 2011, 07:16) *
Опции "Reset and Delay" и "Halt", оказывается, не работают


Тоже на эти грабли наступал, но почему то сразу увидел что они не работают) повезло мне
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.