STM32 ST LINK не работает в Linux
У меня есть STM32, который я программирую в Windows, я подключил их следующим образом:
https://electronics.stackexchange.com/questions/515810/ftdi-and-st-link-devices-together-to-stm32
Теперь я перешел на Linux (Ubuntu 18.04), но Arduino IDE не может найти ССЫЛКУ ST, я получил следующее
-------------------------------------------------------------------
STM32CubeProgrammer v2.5.0
-------------------------------------------------------------------
libusb:warning [libusb_open] internal signalling write failed
ST-LINK error (DEV_USB_COMM_ERR)
libusb:warning [libusb_close] internal signalling write failed, closing anyway
the selected serial port libusb:warning [libusb_close] internal signalling write failed, closing anyway
does not exist or your board is not connected
Мне не хватает какой-то конфигурации?
@Luis, 👍1
Обсуждение1 ответ
Это мои личные заметки, которые я написал себе некоторое время назад. Посмотрите, работают ли они и на вас тоже. Некоторые имена файлов и версии могут быть немного более актуальными сейчас, но я думаю, что это должно быть то, что вам нужно. Я с нетерпением жду ответа от вас, чтобы узнать, работает ли это для вас.
Инструкции по установке STM32CubeProgrammer Linux:
Справочное руководство: UM2237, здесь: https://www.st.com/en/development-tools/stm32cubeprog.html --> ссылка для скачивания внизу; >прямая ссылка.
Скачайте и установите STM32CubeProgrammer: https://www.st.com/en/development-tools/stm32cubeprog.html#get-software --> нажмите кнопку загрузки "Получить программное обеспечение".
Загрузите инструмент STSW-LINK007 (обновление прошивки ST-LINK, ST-LINK/V2, ST-LINK/V2-1): https://www.st.com/en/development-tools/stsw-link007.html.
Извлеките zip-файл, но не устанавливайте его. Нет необходимости устанавливать его, так как этот инструмент также встроен в вышеприведенный инструмент STM32CubeProgrammer, и все, что нам действительно нужно из этого zip-файла STSW-LINK007, - это readme и некоторые правила udev.
Ссылка на readme здесь:
stsw-link007_2.32.22/readme.txt
, или еще лучше, читайте здесь:stsw-link007_2.32.22/AllPlatforms/StlinkRulesFilesForLinux/Readme.txt
Установите правила udev:
cd stsw-link007_2.32.22/AllPlatforms/StlinkRulesFilesForLinux sudo cp *.* /etc/udev/rules.d
Ссылка на раздел 1.2.1 UM2237 (ссылка для скачивания выше):
sudo apt-get install libusb-1.0.0-dev
Перезагрузите правила udev (источник: https://unix.stackexchange.com/a/39371/114401):
sudo udevadm control --reload-rules && udevadm trigger
Отсоедините и подключите программатор STLink.
Откройте и запустите графический интерфейс STM32CubeProgrammer, чтобы все проверить.
Сделайте символическую ссылку на исполняемый файл интерфейса командной строки программатора, чтобы мы могли запустить его как
STM32_Программер_CLI
:mkdir -p ~/bin sudo ln -s ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI \ ~/bin/STM32_Programmer_CLI
Если вы впервые создаете и используете свой
каталог ~/
bin, где мы только что разместили символическую ссылку на исполняемый файл выше, выйдите из системы и войдите в систему, чтобы Ubuntu автоматически поместила эту папку в ваш ПУТЬ.Теперь прошейте чип с помощью программатора. Пример команды flash:
(Обратитесь к UM2237-ссылка выше-для получения дополнительной информации о командах.)# подключить, стереть все, записать и проверить; Примечание: опция "- e все" # для "стереть все" НЕТ необходимости, так как стирание секторов должно быть # флэш происходит автоматически при выполнении команды записи (`-w`)! # Часть "0x8000000" указывает начальный адрес в чипе для # начните программировать. Оставьте это выключенным, чтобы использовать чип по умолчанию # адрес начала программирования или настройте этот адрес в соответствии с вашими конкретными # потребности в вашем чипе. STM32_Programmer_CLI -c port=SWD -w my_hex_file.hex 0x8000000 -v
- Мой Arduino не показывает порт, но работает
- Ошибка A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode. [upload] Error 2
- распиновка для stm32duino с bluepill
- STM32f4 Предупреждение: ядро заблокировано
- программирование STM32 с проблемами Arduino IDE
- «Черная таблетка» STM32 не может надежно войти в режим DFU
- avrdude: Ошибка: butterfly programmer uses avr_write_page() but does not provide a cmd() method
- Как извлечь бинарник из микроконтроллера STM32
https://www.stm32duino.com, @Juraj
Настроили ли вы подходящие разрешения для USB-устройства в файле правил udev?, @Majenko
Луис, тебе помогли мои инструкции?, @Gabriel Staples