Отладка Nordic MCU (feather NRF52) с помощью Segger J-Link

debugging nrf51

У меня есть плата Afafruit NRF52 с загрузчиком SD 132 и 5.1 dual fw. Я реализовал RTT logging and control (input), и код компилируется с помощью arduinoBuilder с RTT и debug level 3. Устройство используется для управления лампами DALI, но иногда оно зависает, я вижу, что оно не реагирует на вход и уровень освещенности никогда не меняется.

Я хочу отладить его, может быть, получить трассировку стека, чтобы увидеть, где он висит, надеясь, что это проблема программного обеспечения.

Есть какие-нибудь зацепки, как это сделать ? Может быть, учебник ?

, 👍-1

Обсуждение

OpenOCD, по-видимому, поддерживает как nRF51, так и JLink., @Majenko


1 ответ


0

Я не пробовал этого, но OpenOCD поддерживает как nRF52, так и JLink. Что-то вроде (в Linux):

openocd -f /usr/share/openocd/scripts/interface/jlink.cfg -f /usr/share/openocd/scripts/target/nrf52.cfg

может начаться OpenOCD.

Затем вы можете подключиться к (nRF52) gdb (arm-none-eabi-gdb).

Вы можете найти информацию об использовании gdb с OpenOCD здесь и здесь.

,

мне сказали, что я могу использовать его с подключаемым модулем openocd и eclipse mcu, что приятно, но j-link должен быть намного больше с его отладчиком озона. я просто еще не понял, как отлаживать код с его помощью или как использовать инструмент jlinkexe CLI для получения трассировки стека, или даже как указать его на символы отладки, и, конечно, я скомпилировал с помощью arduino ide, поэтому я понятия не имею, где находятся символы отладки, я предполагаю, что не в файлах *.bin\*.hex...., @codeScriber

и это перо nrf52 без nrf51 тег 51, потому что мне пришлось поставить тег, а nrf52 нет..., @codeScriber

Тогда просто измените 51 на 52. OpenOCD поддерживает и то, и другое., @Majenko

согласно openocd, он не поддерживает режим нон-стоп. я хочу отладить работающую цель, я объясню. atget, похоже, "стек" не отвечает, однако, если я использую jlink commander и использую halt, затем, по-видимому, я мало что сделал, остановил процессор, а затем возобновил его, однако это вызывает перезагрузку, а затем я не знаю, что произойдет. мне нужно получить трассировку стека или заставить компьютер убедиться, что процессор действительно не останавливается..., @codeScriber

Тогда, похоже, вы будете использовать запатентованные инструменты Nordic Semiconductor для выполнения этой работы, и мы не сможем вам в этом помочь., @Majenko

облом :-( возможно, я перейду к методу gdbserver, для этого мне нужно посмотреть, как преобразовать проект из aduino в микроконтроллер eclipse или "Озеоне"Сеггера, @codeScriber