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

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

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

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

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

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

sudo

问题在于安装完成后运行不起来,出现 “错误:找不到或无法加载主类 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

接着可以在命令行中启动

cd STM32CubeProgrammer/bin
sudo

成功启动

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



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

设置为默认 JDK

sudo



方法二、手动安装

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

sudo tar

将此 JDK 注册到系统中

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

切换 JDK

sudo

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

再次启动

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

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