У меня есть плата stm32 nucleo wb55rg, и я пытаюсь прошить на нее несколько примеров, таких как blinky и пользовательский образец, но когда я пытаюсь прошить проект на плату после его сборки, я получаю ту же ошибку (время ожидания ожидания цели остановлено), и я не знаю, как с этим бороться. Я искал в Интернете и нашел некоторую информацию об ОКР, и я действительно не понял. Я не использую STMCubeIDE, только пример мигания zephyr. Может ли кто-нибудь помочь мне с этим? Я использую ОС Linux из VM box и простой образец мигания от zephyr.
My steps are:
west build -b nucleo_wb55rg samples/basic/blinky ( building project )
west flash
Сообщение об ошибке
-- west flash: rebuilding
[0/1] cd /home/nikos/Desktop/my_try/bu.../cmake/flash && /usr/bin/cmake -E echo
-- west flash: using runner openocd
-- runners.openocd: Flashing file: /home/nikos/Desktop/my_try/build/zephyr/zephyr.hex
Open On-Chip Debugger 0.10.0+dev-01508-gf79c90268-dirty (2021-03-26-16:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : clock speed 500 kHz
Info : STLINK V2J37M26 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.229148
Info : stm32wbx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : starting gdb server for stm32wbx.cpu on 3333
Info : Listening on port 3333 for gdb connections
TargetName Type Endian TapName State
-- ------------------ ---------- ------ ------------------ ------------
0* stm32wbx.cpu hla_target little stm32wbx.cpu running
Info : Unable to match requested speed 500 kHz, using 480 kHz
Info : Unable to match requested speed 500 kHz, using 480 kHz
Error: timed out while waiting for target halted
TARGET: stm32wbx.cpu - Not halted
FATAL ERROR: command exited with status 1: /home/nikos/zephyr-sdk-0.12.4/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -s /home/nikos/zephyrproject/zephyr/boards/arm/nucleo_wb55rg/support -s /home/nikos/zephyr-sdk-0.12.4/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/nikos/zephyrproject/zephyr/boards/arm/nucleo_wb55rg/support/openocd.cfg -c init -c targets -c 'reset halt' -c 'flash write_image erase /home/nikos/Desktop/my_try/build/zephyr/zephyr.hex' -c 'reset halt' -c 'verify_image /home/nikos/Desktop/my_try/build/zephyr/zephyr.hex' -c 'reset run' -c shutdown
вероятно, потому что вы разбили руку, прежде чем попытаться остановить ее. что там было раньше? Вы пытались сбросить остановку из командной строки telnet в openocd?
@old_timer прежде всего спасибо за ответ. Плата используется, и я не знаю, что они сделали с ней. Также я не знаю, как получить доступ к openocd, чтобы сбросить его, поэтому я еще не пытался сбросить остановку, не могли бы вы дать мне несколько советов по этому поводу, пожалуйста?
Можете ли вы прочитать флэш-память от STM? По какой-то причине моя интуиция подсказывает мне не доверять драйверу vm usb, но я использовал этот тип настройки с другими ядрами более года. Либо попробуйте на новом wb55rg, либо используйте другой компьютер/программатор, чтобы попытаться прошить прошивку.
в одном окне запустите openocd как обычно. и в другом telnet localhost 4444 (при условии, что порт по умолчанию не изменился). затем в этой командной строке сбросить остановку. или запустите справку, чтобы найти другие команды
@old_timer большое спасибо за ваш ответ, я нашел ошибку, которую я опубликовал изменения, которые я сделал ниже.
@Bart Большое спасибо за ваш ответ, я нашел ошибку и решил ее. Я разместил ответ ниже.