Ubuntu16.04 和 Ubuntu18.04 安装 STM32CubeProgrammer 遇到的坑

STM32CubeProgrammer 简称 STM32CubeProg,是一个适用于 STM32 系列产品的跨平台、多合一的程序烧写工具。

  • “跨平台” 体现在支持 Windows、macOS 和 Linux 操作系统,因此软件运行时需要 Java 环境。
  • “多合一” 体现在支持通过 USB、ST-LINK、UART、OTA 多种方式来烧写固件。

Ubuntu16.04 和 Ubuntu18.04 安装 STM32CubeProgrammer 遇到的坑_第1张图片

下载 en.stm32cubeprog.zip 并解压缩,里面有三个安装文件,分别对应三个操作系统平台。

    .
    ├── SetupSTM32CubeProgrammer-2.2.0.app    # MacOS 安装
    ├── SetupSTM32CubeProgrammer-2.2.0.exe    # Windows 安装
    └── SetupSTM32CubeProgrammer-2.2.0.linux  # Linux 安装

在 Ubuntu 中,执行如下命令即可安装

sudo ./SetupSTM32CubeProgrammer-2.2.0.linux

问题在于安装完成后运行不起来,出现 “错误:找不到或无法加载主类 com.st.app.Main” 的错误提示。原因是 ST 的 工具是使用 Oracle 的 JDK 进行开发的,而不是 Ubuntu 默认安装的 Open-JDK。


Ubuntu 16.04 安装问题

Ubuntu 16.04 运行 STM32CubeProg 出现如下错误

错误: 找不到或无法加载主类 com.st.app.Main

原因是 ST 的 工具是使用 Oracle 的 JDK 进行开发的,而不是 Open-JDK,因此需要执行如下命令安装 openjfx。

sudo apt install openjfx

接着可以在命令行中启动

cd STM32CubeProgrammer/bin
sudo ./STM32CubeProgrammer

成功启动

Ubuntu16.04 和 Ubuntu18.04 安装 STM32CubeProgrammer 遇到的坑_第2张图片


Ubuntu 18.04 安装问题

通过上述方法无法解决在 Ubuntu 18.04 中同样遇到的问题。

!!!Ubuntu 18.04 如何安装 Oracle Java 8 ?


方法一、自动安装

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer

设置为默认 JDK

sudo update-java-alternatives -s java-8-oracle

方法二、手动安装

我这里预先下载了 jdk-8u172-linux-x64.tar.gz,将其解压到 /usr/lib/jvm 目录。

sudo tar zxvf jdk-8u172-linux-x64.tar.gz -C /usr/lib/jvm

将此 JDK 注册到系统中

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_172/bin/java 300

切换 JDK

sudo update-alternatives --config java

Ubuntu16.04 和 Ubuntu18.04 安装 STM32CubeProgrammer 遇到的坑_第3张图片

再次启动

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

Ubuntu16.04 和 Ubuntu18.04 安装 STM32CubeProgrammer 遇到的坑_第4张图片

你可能感兴趣的:(STM32开发,物联网)