Перейти к содержанию
    

Отладка cortex-m3 в gdb через j-link

Столкнулся с такой неожиданной проблемой: при отладке программы с 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овские примеры отлаживаются нормально.

Кто сталкивался ? В чем тут может быть дело ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

глюк. может стек переполнился? или только при отладке? Hook'и FreeRTOS не сработали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все, разобрался ! Как всегда, все банально - проц не сбрасывался в начале отладки. :krapula: Опции "Reset and Delay" и "Halt", оказывается, не работают, собаки. Это баг/фича в "C/C++

GDB Hardware Debugging" (version 7.0.0.201009241320) feature в Eclipse CDT. Нужно вручную прописывать команду "monitor reset 0", что собствено и делается во всех gdbinit-скриптах. А я сдуру решил, что это избыточно (ведь в среде есть эти опции), что и привело к потере времени :cranky:

Причем обидно, что я все время смотрел окно сообщений gdb сервера и не замечал, что привычное сообщение типа "Resetting target" нигде не мелькает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опции "Reset and Delay" и "Halt", оказывается, не работают

 

Тоже на эти грабли наступал, но почему то сразу увидел что они не работают) повезло мне

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...