我正在尝试.linux
在 Ubuntu 上安装并运行 STM32CubeProgrammer 应用程序(一个文件)。当我第一次运行它时,我得到了这个看起来很专业的错误:
我花了几个小时尝试了很多东西,包括安装 OpenJFX、OpenJDK-8 等。但都没用。现在,我已尽力彻底清除 OpenJDK,并安装了 Oracle Java 11.02(我猜应该包含这个 Java FX?)。java -version
结果:
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
JAVA_HOME 已设置,JAVA_HOME/bin 已添加到 PATH。据我所知,没有其他 java 替代方案。我还重定向了符号链接default-java
以指向新的 Oracle 路径。但我仍然收到此错误。我已经尝试删除 STM32Programmer 安装文件夹并重新安装以防万一;它的官方版本uninstaller.jar
显然也不起作用。
- 因此,假设应用程序仍然正常,并且确实仍有一些挥之不去的 OpenJDK 工件导致此错误,它们会在哪里? 还有其他地方我应该检查以完全删除 OpenJDK 吗?
- 错误提示下载 Oracle JRE,但我的安装中没有明确的 JRE 文件夹,即使
java
这样javac
仍然有效。这有关系吗? - STM32
.linux
应用程序似乎安装在我的主目录中的单个文件夹中。由于卸载程序不起作用(它只会吐出一些日志数据),我删除了安装文件夹。在这种情况下,是否还有其他文件夹需要检查,以确保所有内容都已清除?
我正在使用 Ubuntu 19.04。
答案1
先生们,我花了几个小时研究 STM32CubeProgrammer 的相同问题,所以非常感谢你们的付出。我来晚了,以为我的 Ubuntu 安装默认会提供所有必需的成分。无论如何,我已经继续清除了根据错误假设安装的 Java。
步骤 1 java -version 产生以下内容:
openjdk 版本“11.0.6” 2020-01-14 OpenJDK 运行环境(构建 11.0.6+10-post-Ubuntu-1ubuntu118.04.1) OpenJDK 64 位服务器 VM(构建 11.0.6+10-post-Ubuntu-1ubuntu118.04.1,混合模式,共享)
第 2 步 sudo apt-get purge openjdk* 生成:
正在读取软件包列表...完成 正在构建依赖关系树
正在读取状态信息...完成 注意,为 glob“openjdk*”选择“openjdk-9-jre-headless”...等等
步骤3 sudo apt-get install oracle-java8-installer 制作:
正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 软件包 oracle-java8-installer 不可用,但被另一个软件包引用。这可能意味着软件包缺失、已过时或只能从其他来源获得 E:软件包“oracle-java8-installer”没有安装候选项... 好吧,这只是大多数人预料到的另一个挫折!
步骤4 sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2
正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 libopenjfx-java 已经是最新版本 (8u161-b12-1ubuntu2)。 libopenjfx-java 设置为手动安装。 libopenjfx-jni 已经是最新版本 (8u161-b12-1ubuntu2)。 libopenjfx-jni 设置为手动安装。 以下软件包已自动安装,不再需要: efibootmgr libfwup1 libwayland-egl1-mesa openjfx-source 使用“sudo apt autoremove”将其删除。将会安装以下附加软件包:ca-certificates-java openjdk-8-jre openjdk-8-jre-headless 建议安装的软件包:icedtea-8-plugin fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei 将会安装以下新软件包:ca-certificates-java openjdk-8-jre openjdk-8-jre-headless 将会降级以下软件包:openjfx 升级了 0 个软件包,新安装了 3 个软件包,降级了 1 个软件包,删除了 0 个软件包,未升级 3 个软件包。需要获取 27.6 MB 的档案。此操作后,将使用 101 MB 的额外磁盘空间。是否要继续?[Y/n] y 获取:1http://us.archive.ubuntu.com/ubuntubionic-updates/universe amd64 openjdk-8-jre-headless amd64 8u242-b08-0ubuntu3~18.04 [27.5 MB] 获取:2http://us.archive.ubuntu.com/ubuntubionic-updates/main amd64 ca-certificates-java all 20180516ubuntu1~18.04.1 [12.2 kB] 获取:3http://us.archive.ubuntu.com/ubuntubionic-updates/universe amd64 openjdk-8-jre amd64 8u242-b08-0ubuntu3~18.04 [69.7 kB] 获取:4http://us.archive.ubuntu.com/ubuntubionic/universe amd64 openjfx amd64 8u161-b12-1ubuntu2 [33.6 kB] 已获取 27.6 MB,耗时 5 分 59 秒 (76.7 kB/s)
正在选择之前未选择的软件包 openjdk-8-jre-headless:amd64。 (正在读取数据库......当前安装了 164080 个文件和目录。) 正在准备解压....../openjdk-8-jre-headless_8u242-b08-0ubuntu3~18.04_amd64.deb...... 正在解压 openjdk-8-jre-headless:amd64 (8u242-b08-0ubuntu3~18.04)......
步骤 5 保留包裹:按照 Ehsan 在相关主题中的帖子操作
sudo apt-mark 保持 openjfx libopenjfx-java libopenjfx-jni
步骤 6 STM32 安装目录 /usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin 的 ls -l total 17220 drwxr-xr-x 6 root root 4096 Apr 2 04:47 ExternalLoader drwxr-xr-x 2 root root 4096 Apr 2 04:47 FlashLoader drwxr-xr-x 3 root root 4096 Apr 2 04:47 HSM -rw-r--r-- 1 root root 2715616 Feb 20 17:35 libcrypto.so -rw-r--r-- 1 root root 548696 Feb 20 17:35 libssl.so -rw-r--r-- 1 root root 382309 Sep 11 2019 libstp11_SAM.so -rw-r--r-- 1 root root 354 4月 2 04:47 libstp11_SAM.so.conf drwxr-xr-x 2 root root 4096 4月 2 04:47 PersoPackages drwxr-xr-x 2 root root 4096 4月 2 04:47 平台 drwxr-xr-x 3 root root 4096 4月 2 04:47 RSSe -rwxr-xr-x 1 root root 163 12月 9 23:30 STM32CubeProgrammer -rwxr-xr-x 1 root root 7727803 2月 20 17:44 STM32CubeProgrammerLauncher -rwxr-xr-x 1 root root 1645912 2月 20 17:35 STM32MP_KeyGen_CLI -rwxr-xr-x 1 root root 1673192 二月 20 17:35 STM32MP_SigningTool_CLI -rwxr-xr-x 1 root root 1808746 二月 20 17:42 STM32_Programmer_CLI -rwxr-xr-x 1 root root 147 2018 年 4 月 18 日 STM32_Programmer.sh -rwxr-xr-x 1 root root 803594 二月 20 17:42 STM32TrustedPackageCreator -rwxr-xr-x 1 root root 277313 二月 20 17:42 STM32TrustedPackageCreator_CLI
步骤 7 启动 Cube Programmer shell
-------------------------------------------------------------------
STM32CubeProgrammer v2.4.0
-------------------------------------------------------------------
用法:STM32_Programmer_CLI.exe [命令1] [参数1][[命令2] [参数2]...]
通用命令:
-?, -h, --help :显示帮助
步骤 8 从终端启动Cube Programmer产生了很多消息如下:
/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin$ ./STM32CubeProgrammer Gtk-Message: 12:37:27.325: 无法加载模块“canberra-gtk-module”未找到属性文件 java.io.FileNotFoundException: /home/carlos/.STM32CubeProgrammer/config.properties(没有这样的文件或目录)在 java.io.FileInputStream.open0(Native Method)在 java.io.FileInputStream.open(FileInputStream.java:195)在 java.io.FileInputStream.(FileInputStream.java:138)......但它确实启动了,也Cube Programmer 的屏幕截图从桌面测试并通过串行连接到“蓝色药丸”
希望这能有所帮助!Rgds,C