如何在 Linux 中安装 STM32CubeProgrammer

如何在 Linux 中安装 STM32CubeProgrammer

我在 Ubuntu 18.04.3 LTS 中安装了 STM32CubeProgrammer,目的是解决错误当我尝试在 STM32WB55 Nucleo Pack 中刷新微控制器时出现此问题,但 STM32CubeProgrammer 在安装后并未启动。

当我点击启动器中的图标时没有任何反应,并且我没有找到任何用于启动该程序的可执行文件。我该怎么办?

答案1

STM32CubeProgrammer 1.2.1 节中的说明软件描述对我有用。

我安装的是 openjdk-8

sudo apt install openjdk-8-jre-headless

我将选定的 java-8 设置为我的默认运行时引擎

sudo update-alternatives --config java

并安装以下软件包

sudo apt purge openjfx
sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2
sudo apt-mark hold openjfx libopenjfx-jni libopenjfx-java

然后我像之前一样安装了 STM32CubeProgrammer

sudo ./SetupSTM32CubeProgrammer-2.2.1.linux

安装程序的最后一页提到了程序文件的路径。以下路径现在指向我系统上的程序文件

/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/

可以使用以下方式启动该程序

sudo /usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/./STM32CubeProgrammer

答案2

这里提到的其他解决方案在 Ubuntu20.04 上对我来说不起作用。

据 ST 论坛上的一位用户称(来源),JDK8兼容版本的openjfx不适用于Focal Fossa。

这个 StackOverflow 问题描述了一个简单有效的解决方案。

为了解决这个问题,您可以安装包含 JavaFX 的 OpenJDK 版本。

我安装了利比里亚(确保选择完整的 JDK)运行

sudo dpkg -i /path/to/bellsoft-jdk8u275+1-linux-amd64-full.deb

这将安装 JDK 并更新替代方案。(无需运行sudo update-alternatives --config java

对我来说,这就是让 CubeProgrammer 工作所需要做的一切

答案3

我已经在 Ubuntu 20.04 + openjdk 11.0.10 上运行了这个

如果你从 CLI 运行 STM32CubeProgrammer,你就会得到问题的线索

./STM32CubeProgrammer
Error: Could not find or load main class com.st.app.Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

因此,令人烦恼的是,javafx 不再与 java 9+ 一起打包

因此,解决方法是要么找到一个较旧的 Java,要么:

  1. 下载javafx并解压到文件夹
  2. 更新 STM32CubeProgrammer 脚本 vi $(which STM32CubeProgrammer)
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export LD_LIBRARY_PATH=$DIR/../lib:$LD_LIBRARY_PATH
export PATH_TO_FX=/home/williao/tools/javafx-sdk-11.0.2/lib
java --module-path $PATH_TO_FX:$PATH_TO_FX/lib --add-modules javafx.controls,javafx.fxml,javafx.web -jar $DIR/STM32CubeProgrammerLauncher

不要忘记更改 PATH_TO_FX!!!!

答案4

我在寻找如何修复 Debian 中的安装程序时找到了这个网站。这对我有用。

$ sudo java -jar SetupSTM32CubeProgrammer-2.8.0.exe

相关内容