STM32F103、Stlink-v2、OpenOCD:打开失败
STM32F103, Stlink-v2, OpenOCD: open failed
这看起来不像是一个明确的问题。它可以是 USB 3.0,或者 stlink*.cfg
,正如我的研究表明的那样;似乎都不是我的情况。
$ st-flash write blinkyx.bin 0x8000000
st-flash 1.4.0
2018-02-18T18:36:09 INFO src/usb.c: -- exit_dfu_mode
2018-02-18T18:36:09 INFO src/common.c: Loading device parameters....
2018-02-18T18:36:09 INFO src/common.c: Device connected is: F1 Medium-density device, id 0x20036410
2018-02-18T18:36:09 INFO src/common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2018-02-18T18:36:09 INFO src/common.c: Attempting to write 8332 (0x208c) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08002000 erased
2018-02-18T18:36:10 INFO src/common.c: Finished erasing 9 pages of 1024 (0x400) bytes
2018-02-18T18:36:10 INFO src/common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2018-02-18T18:36:10 INFO src/flash_loader.c: Successfully loaded flash loader in sram
9/9 pages written
2018-02-18T18:36:10 INFO src/common.c: Starting verification of write complete
2018-02-18T18:36:10 INFO src/common.c: Flash written and verified! jolly good!
$ openocd -f /usr/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100 none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Error: open failed in procedure 'init' in procedure 'ocd_bouncer'
实际上我一直在尝试配置 GNU MCU Eclipse;此输出在控制台中手动生成,但 IDE 控制台输出完全相同。
有什么建议吗?
要在 Eclipse 中使用 OpenOCD,您需要配置外部工具配置 > 主选项卡
位置:(openOCD 二进制文件位置)
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/bin/openocd
工作目录:
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/scripts
参数:
-f board/stm32f103c8t6.cfg
在 openOCD 的 board 目录中创建一个名为 stm32f103c8t6.cfg 的文件,例如:
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/scripts/board/
打开它并粘贴以下行:
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
reset_config none
这应该有效
这看起来不像是一个明确的问题。它可以是 USB 3.0,或者 stlink*.cfg
,正如我的研究表明的那样;似乎都不是我的情况。
$ st-flash write blinkyx.bin 0x8000000
st-flash 1.4.0
2018-02-18T18:36:09 INFO src/usb.c: -- exit_dfu_mode
2018-02-18T18:36:09 INFO src/common.c: Loading device parameters....
2018-02-18T18:36:09 INFO src/common.c: Device connected is: F1 Medium-density device, id 0x20036410
2018-02-18T18:36:09 INFO src/common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2018-02-18T18:36:09 INFO src/common.c: Attempting to write 8332 (0x208c) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08002000 erased
2018-02-18T18:36:10 INFO src/common.c: Finished erasing 9 pages of 1024 (0x400) bytes
2018-02-18T18:36:10 INFO src/common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2018-02-18T18:36:10 INFO src/flash_loader.c: Successfully loaded flash loader in sram
9/9 pages written
2018-02-18T18:36:10 INFO src/common.c: Starting verification of write complete
2018-02-18T18:36:10 INFO src/common.c: Flash written and verified! jolly good!
$ openocd -f /usr/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100 none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Error: open failed in procedure 'init' in procedure 'ocd_bouncer'
实际上我一直在尝试配置 GNU MCU Eclipse;此输出在控制台中手动生成,但 IDE 控制台输出完全相同。
有什么建议吗?
要在 Eclipse 中使用 OpenOCD,您需要配置外部工具配置 > 主选项卡
位置:(openOCD 二进制文件位置)
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/bin/openocd
工作目录:
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/scripts
参数:
-f board/stm32f103c8t6.cfg
在 openOCD 的 board 目录中创建一个名为 stm32f103c8t6.cfg 的文件,例如:
/home/username/opt/gnu-mcu-eclipse/openocd/0.10.0-7-20180123-1217/scripts/board/
打开它并粘贴以下行:
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
reset_config none
这应该有效