Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


[solved] Arch Linux and SW4STM32 crashes at startup

Few days ago I’ve installed via the packet manager ‘pamac’ the sw4stm32 from the AUR repository. After installing sw4stm32 started up normally, the ‘Select a directory as workspace’ pops up as always and after I’ve selected a workspace sw4stm32 crashed with the notice that I should check the .metadata/.log file.
Original message: An error has occurred. See the log file ..../.metadata/.log. [Close]
(log file contents see below)

With a parameter I’ve added to the command line to start sw4stm32 I can now run it. There are several tricks and hints out there which deals with the nearly the same problem (generally Eclipse based) with different solutions but nothing of these helped me. Finally I found out that I have to add the parameter -vm /usr/lib/jvm/java-8-openjdk/bin when I start sw4stm32 by the command line. Thus, to start sw4stm32 succesfully I have to run

$ sw4stm32 -vm /usr/lib/jvm/java-8-openjdk/bin

I suppose that there’s something missing in the eclipse.bin.ini file with adds the parameter -vm. It could be that on Ubuntu and Ubuntu-based installations this issue will not exist.

My Question I’ve left: Does someone know how I can fix this without touching the eclipse.bin.ini file? This file is only handled by the packet manager and will be overwritten without warning, so the changes could be gone after an update.


Additional, the contents of the log file after sw4stm32 crashed:
!SESSION 2020-05-23 19:21:59.106 -----
eclipse.buildId=4.6.3.M20170301-0400
java.version=11.0.6
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product

!ENTRY org.eclipse.osgi 4 0 2020-05-23 19:22:13.026
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
...
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
... 23 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410)
...
... 25 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2020-05-23 19:22:13.042
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:426)
...
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410)
...
... 21 more