PlatformIO - STM32 - 库未加载:/opt/local/lib/libusb-1.0.0.dylib [上传] 错误 134

问题描述 投票:0回答:2

我正在尝试通过 PlatformIO 对我的 STM32 进行编程。我正在使用内置的眨眼示例,所以我“知道;”我的代码不是导致问题的原因。我正在使用 macOS - M1 Max - Monterey(12.13.1)。

这是我正在使用的板:https://ubld.it/products/stm32-midi-dev

程序构建得很好,但是在尝试上传时,出现以下错误:

dyld[54244]: Library not loaded: /opt/local/lib/libusb-1.0.0.dylib
Referenced from: /Users/***/.platformio/packages/tool-stm32duino/dfu-util/dfu-util
  Reason: tried: '/opt/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/lib/libusb-1.0.0.dylib' (no such file)
/Users/***/.platformio/packages/tool-stm32duino/maple_upload: line 53: 54244 Abort trap: 6           ${DFU_UTIL} -d ${usbID} -a ${altID} -D ${binfile} -R ${dfuse_addr} -R
*** [upload] Error 134

我的platformio.ini文件如下:

[env:genericSTM32F103CB]
platform = ststm32
board = genericSTM32F103CB
framework = arduino
board_build.core = maple
upload_protocol = dfu

我尝试过以下方法:

  1. brew install libusb
    - 但它已经安装了
  2. brew uninstall libusb
    - 然后 -
    brew install libusb
  3. 库未加载:/opt/local/lib/libssl.1.0.0.dylib (LoadError) - 这似乎与 SSL 更相关,但还是尝试过

我已阅读错误消息并了解到文件似乎不存在,但不确定下一步是什么,因为我尝试重新安装上面的 libusb。

这是我的完整上传输出(如果有帮助):

CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103CB.html
PLATFORM: ST STM32 (15.3.0) > STM32F103CB (20k RAM. 128k Flash)
HARDWARE: STM32F103CBT6 72MHz, 20KB RAM, 128KB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32-maple @ 3.10000.201129 (1.0.0) 
 - tool-dfuutil @ 1.9.211020 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://docs.platformio.org/en/latest/librarymanager/ldf.html
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 30 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio/build/genericSTM32F103CB/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  21.1% (used 4312 bytes from 20480 bytes)
Flash: [=         ]  14.3% (used 18712 bytes from 131072 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, serial, stlink
CURRENT: upload_protocol = dfu
Looking for upload port...
Auto-detected: /dev/cu.usbmodem1101
Uploading .pio/build/genericSTM32F103CB/firmware.bin
Failed to open serial device.
dyld[54773]: Library not loaded: /opt/local/lib/libusb-1.0.0.dylib
  Referenced from: /Users/***/.platformio/packages/tool-stm32duino/dfu-util/dfu-util
  Reason: tried: '/opt/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/lib/libusb-1.0.0.dylib' (no such file)
/Users/***/.platformio/packages/tool-stm32duino/maple_upload: line 53: 54773 Abort trap: 6           ${DFU_UTIL} -d ${usbID} -a ${altID} -D ${binfile} -R ${dfuse_addr} -R
*** [upload] Error 134

提前感谢您的帮助。对于嵌入式来说还很陌生。

===编辑=== 当我继续研究时,我认为这与 homebrew 没有安装在 libusb 的正常位置有关。 Homebrew Mac M1 找不到安装

macos stm32 platformio
2个回答
1
投票

好的。感谢 PlatformIO 的 Ivan,他给了我以下解决方案。现在效果很好。

没有适用于 macOS ARM 的 STM32Duino /dfu-binaries 的新版本:

我可以请你尝试接下来的事情吗?

  1. 编辑
    ~/.platformio/packages/tool-stm32duino/maple_upload
  2. 注释第 43 行并在下面添加新的一行
DFU_UTIL=~/.platformio/packages/tool-dfuutil/bin/dfu-util

0
投票

我的 2021 M1 Mac (Ventura 13.6) 上也有同样的问题。我按照你的指示操作,但仍然收到此错误:

Checking size .pio/build/bluepill_f103c8_128k/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  21.1% (used 4312 bytes from 20480 bytes)
Flash: [=         ]  14.9% (used 19504 bytes from 131072 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, serial, stlink
CURRENT: upload_protocol = dfu
Looking for upload port...
Auto-detected: /dev/cu.wlan-debug
Uploading .pio/build/bluepill_f103c8_128k/firmware.bin
dyld[22077]: Library not loaded: /usr/local/opt/libusb/lib/libusb-1.0.0.dylib
  Referenced from: <196384F2-82B2-3D72-BA1C-183785B95BB9> /Users/***/.platformio/packages/tool-dfuutil/bin/dfu-util
  Reason: tried: '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/lib/libusb-1.0.0.dylib' (no such file, not in dyld cache)
/Users/***/.platformio/packages/tool-stm32duino/maple_upload: line 54: 22077 Abort trap: 6           ${DFU_UTIL} -d ${usbID} -a ${altID} -D ${binfile} -R ${dfuse_addr} -R
*** [upload] Error 134

有人知道我为什么会收到此错误吗?

© www.soinside.com 2019 - 2024. All rights reserved.