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

Мне не хватает какой-то конфигурации?

, 👍1

Обсуждение

https://www.stm32duino.com, @Juraj

Настроили ли вы подходящие разрешения для USB-устройства в файле правил udev?, @Majenko

Луис, тебе помогли мои инструкции?, @Gabriel Staples


1 ответ


0

Это мои личные заметки, которые я написал себе некоторое время назад. Посмотрите, работают ли они и на вас тоже. Некоторые имена файлов и версии могут быть немного более актуальными сейчас, но я думаю, что это должно быть то, что вам нужно. Я с нетерпением жду ответа от вас, чтобы узнать, работает ли это для вас.

Инструкции по установке STM32CubeProgrammer Linux:

Справочное руководство: UM2237, здесь: https://www.st.com/en/development-tools/stm32cubeprog.html --> ссылка для скачивания внизу; >прямая ссылка.

  1. Скачайте и установите STM32CubeProgrammer: https://www.st.com/en/development-tools/stm32cubeprog.html#get-software --> нажмите кнопку загрузки "Получить программное обеспечение".

  2. Загрузите инструмент 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
      
  3. Ссылка на раздел 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.

  4. Откройте и запустите графический интерфейс STM32CubeProgrammer, чтобы все проверить.

  5. Сделайте символическую ссылку на исполняемый файл интерфейса командной строки программатора, чтобы мы могли запустить его как STM32_Программер_CLI:

    mkdir -p ~/bin
    sudo ln -s ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI \
    ~/bin/STM32_Programmer_CLI
    
  6. Если вы впервые создаете и используете свой каталог ~/bin, где мы только что разместили символическую ссылку на исполняемый файл выше, выйдите из системы и войдите в систему, чтобы Ubuntu автоматически поместила эту папку в ваш ПУТЬ.

  7. Теперь прошейте чип с помощью программатора. Пример команды flash:
    (Обратитесь к UM2237-ссылка выше-для получения дополнительной информации о командах.)

    # подключить, стереть все, записать и проверить; Примечание: опция "- e все"
    # для "стереть все" НЕТ необходимости, так как стирание секторов должно быть 
    # флэш происходит автоматически при выполнении команды записи (`-w`)!
    # Часть "0x8000000" указывает начальный адрес в чипе для
    # начните программировать. Оставьте это выключенным, чтобы использовать чип по умолчанию
    # адрес начала программирования или настройте этот адрес в соответствии с вашими конкретными
    # потребности в вашем чипе.
    STM32_Programmer_CLI -c port=SWD -w my_hex_file.hex 0x8000000 -v
    
,