Отладка Nordic MCU (feather NRF52) с помощью Segger J-Link
У меня есть плата Afafruit NRF52 с загрузчиком SD 132 и 5.1 dual fw. Я реализовал RTT logging and control (input), и код компилируется с помощью arduinoBuilder с RTT и debug level 3. Устройство используется для управления лампами DALI, но иногда оно зависает, я вижу, что оно не реагирует на вход и уровень освещенности никогда не меняется.
Я хочу отладить его, может быть, получить трассировку стека, чтобы увидеть, где он висит, надеясь, что это проблема программного обеспечения.
Есть какие-нибудь зацепки, как это сделать ? Может быть, учебник ?
@codeScriber, 👍-1
Обсуждение1 ответ
Я не пробовал этого, но 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
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Ошибка "collect2.exe: error: ld returned 1 exit status"
- Поддерживают ли чипы ATMega 328/2560 JTAG-программатор и аппаратный отладчик?
- Proteus - Как отладить недопустимый код операции?
- Мой код кажется крушением поезда
- ошибка: expected primary-expression before '(' token
- Как выполнить отладку на чипе с помощью Arduino?
- Использование последовательного плоттера с Visual Studio Code
OpenOCD, по-видимому, поддерживает как nRF51, так и JLink., @Majenko