LINUX.ORG.RU

Как устроен дебаг GDB для ESP32 RISC-V?

 , ,


0

1

Столкнулся с проблемой: при попытке пошагово отдебжить LED blink после остановки в любом месте по заранее установленному breakpoint исполнение любой следующей инструкции (командой stepi) валится в panic_handler (Но иногда после перекомпиляции с какими-нибудь изменениями в коде не валится а работает как положено)

Там у них внутри FreeRTOS, подозреваю что это она чудит

Так вот вопрос: как gdb вообще по шагам двигается на такой аппаратуре? Может стек использует, например, для каких-то промежуточных данных?

Проблема была в том что начиная с какой-то версии ESP IDF (после 5.2) при дебаге остаются работать вочдоги и считают что когда я стою в отладчике это значит программа зависла

Конкретно какой из них так думает не разбирался, временно отключил все и проблема отпала

upd: отключать нужно Interrupt watchdog, опция CONFIG_INT_WDT=n

Странная фигня - похоже на баг в их openocd, пишут что он сам должен всё это отключать

ahdenchik
() автор топика
Последнее исправление: ahdenchik (всего исправлений: 2)
Ответ на: комментарий от anonymous

Я ж контроллер ковыряю - там такого нет

И RISC-V для меня не самоцель, просто популярная архитектура куда хочется портировать софт. Был бы популярен 68000 перетащил бы на него

ahdenchik
() автор топика