首页 > 解决方案 > OpenOCD 无法打开与 STM32L4 板的连接 (STEVAL STWINCSV1)

问题描述

我有一个带有 STM32L4R9 芯片的 STEVAL STWINCSV1 板,通过 USB 连接到我的计算机。我正在尝试使用 OpenOCD 来刷新新图像。我正在使用该命令openocd -d -f board/stm32l4discovery.cfg尝试打开与板的连接。这是cfg文件的内容

# Explicitly for the STM32L476 discovery board:
# http://www.st.com/web/en/catalog/tools/PF261635
# but perfectly functional for any other STM32L4 board connected via
# an stlink-v2-1 interface.
# This is for STM32L4 boards that are connected via stlink-v2-1.
 
source [find interface/stlink.cfg]
 
transport select hla_swd
 
source [find target/stm32l4x.cfg]
 
reset_config srst_only

当我通过 USB 插入电路板并检查输出时dmesg | grep usb,我得到了以下结果(我多次插入电路板):

[15316.981696] usb 1-1.3: new full-speed USB device number 7 using xhci_hcd
[15317.119120] usb 1-1.3: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[15317.119121] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15317.119122] usb 1-1.3: Product: STM32 Virtual ComPort in FS Mode
[15317.119123] usb 1-1.3: Manufacturer: STMicroelectronics
[15317.119123] usb 1-1.3: SerialNumber: FFFFFFFEFFFF
[15317.169176] usbcore: registered new interface driver cdc_acm
[15726.366247] usb 1-1.3: USB disconnect, device number 7
[15733.238286] usb 1-1.3: new full-speed USB device number 8 using xhci_hcd
[15733.363181] usb 1-1.3: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[15733.363182] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15733.363183] usb 1-1.3: Product: STM32 Virtual ComPort in FS Mode
[15733.363184] usb 1-1.3: Manufacturer: STMicroelectronics
[15733.363184] usb 1-1.3: SerialNumber: FFFFFFFEFFFF
[15822.875489] usb 1-1.3: USB disconnect, device number 8
[15861.278256] usb 1-3.4: new full-speed USB device number 9 using xhci_hcd
[15861.400511] usb 1-3.4: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[15861.400512] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15861.400513] usb 1-3.4: Product: STM32 Virtual ComPort in FS Mode
[15861.400514] usb 1-3.4: Manufacturer: STMicroelectronics
[15861.400514] usb 1-3.4: SerialNumber: FFFFFFFEFFFF
[16196.113834] usb 1-3.4: USB disconnect, device number 9
[16251.868195] usb 1-1.3: new full-speed USB device number 10 using xhci_hcd
[16252.006377] usb 1-1.3: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[16252.006378] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[16252.006379] usb 1-1.3: Product: STM32 Virtual ComPort in FS Mode
[16252.006380] usb 1-1.3: Manufacturer: STMicroelectronics
[16252.006380] usb 1-1.3: SerialNumber: FFFFFFFEFFFF

当我运行时openocd -d -f board/stm32l4discovery.cfg,这里是输出(pastebinned,因为它有点长):https ://pastebin.com/biVLuf7U

有谁知道这里可能出了什么问题?

标签: linuxembeddedstm32openocd

解决方案


我弄清楚了这个问题。首先,我使用的评估板不支持通过其 USB 端口进行 stlink,因此我不得不使用 stlink/v3 迷你外部编程器。另外,我的发行版上最新的 OpenOCD 版本不支持 stlink/v3,所以我必须从源代码编译 OpenOCD。这解决了我的问题。


推荐阅读