Loading...
 
Skip to main content

System Workbench for STM32


Availability for Linux

Can you tell when you intend to deliver a version for Linux?

Thanks

France

The Linux version is currently in beta; it should be generally available before the end of February.
If you wish to participate at the beta phase, just request the beta tester status (the link is available on the installer download page) and you will be granted access to the beta Linux version.

Bernard


Hi,

Just wondering if there will be a version of CubeMX for linux also?

Thanks,


Martin.


Hi Martin,

Yes we are planning to add Linux support to STM32CubeMX.

Linux support should hopefully be ready in the first half of 2015.

Best Regards
Daniel (ST)

Hi, Actually it is possible to install System Workbench as an Eclipse Plugin in Linux.
The same for Cube MX, it can be installed as an Eclipse Plugin and it works also in Linux ( I've tested it on Ubuntu 14.04)
Filippo


free IDE for Linux will make stm32f0 affordable alternative to 8/16 mcu, Let's face it linux is the best choose for embedded development system .

Hi folks,
Just to add a note about STM32CubeMX (which I prefer to call MX because I hate typing long names 😉 ). It can run standalone on Linux as well as can the installer. To do this just type

Copy to clipboard
java -jar /path/to/SetupSTM32CubeMX-4.7.1.exe

to install the latest version unzipped from stm32cubemx.zip. (Must be run as root) Once installed MX can be run using the command

Copy to clipboard
java -jar /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/STM32CubeMX.exe


And if that's too long to type either define an appropriate alias or do something like:

Copy to clipboard
hbarta@yggdrasil ~ $ cat bin/MX java -jar /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/STM32CubeMX.exe hbarta@yggdrasil ~ $

It's pretty obvoious to me that the folks who wrote MX took the time to put Linux support into it even though it is not well advertised. (Thanks!)

BTW, this is on Linux Mint 17.1 Rebecca


Hi HankB,


I'm following your suggestion. All seems to be fine, but when I'm opening the GPIO-Configuration Dialog I got a java Runtime Exeption and the Dialog Window is not complete. I did the things on Ubuntu 14.04


It follows the the bash output. Any ideas?

With kind regards


L.L.


sick@sick:~/TdV$ sudo java -jar SetupSTM32CubeMX-4.9.0.exe
sudo password for sick:
25.07.2015 10:27:43 INFORMATION: Logging initialized at level 'INFO'
25.07.2015 10:27:43 INFORMATION: Commandline arguments:
25.07.2015 10:27:43 INFORMATION: Detected platform: ubuntu_linux,version=3.13.0-57-generic,arch=x64,symbolicName=null,javaVersion=1.7.0_79
Writing the uninstaller data ...
sick@sick:~/TdV$ java -jar /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/STM32CubeMX.exe
HeapMemory: 249561088
Using Application install path:/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX
Using Application install path:/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX
loadPluginJar : pinoutconfig
InternalPropertyChange: ChangeKeepUser dont care
loadPluginJar : add pinoutconfig
loadPluginJar : power
loadPluginJar : add power
loadPluginJar : updater
Unparseable date: "25.07.15 09:57"
Unparseable date: "25.07.15 09:57"
Updater Check For Update Now.
IoConfig Change Default Database Version : DB.4.0.90
IoConfig Change Database Version : DB.4.0.90
loadPluginJar : add updater
loadPluginJar : filemanager
Connection to HTTP Server ...
System Protocol : DIRECT
loadPluginJar : add filemanager
loadPluginJar : clock
loadPluginJar : add clock
loadPluginJar : projectmanager
loadPluginJar : add projectmanager
loadPluginJar : ipmanager
loadPluginJar : add ipmanager
PluginManage : ReOrganize retry 5x
setPackage(No Configuration,No Configuration)
Download File updaters.zip
loadIPPluginJar : freertos
loadIPPluginJar : add freertos
loadIPPluginJar : fmc
loadIPPluginJar : add fmc
loadIPPluginJar : gpio
loadIPPluginJar : add gpio
loadIPPluginJar : nvic
loadIPPluginJar : add nvic
loadIPPluginJar : opamp
loadIPPluginJar : add opamp
loadIPPluginJar : middleware
loadIPPluginJar : add middleware
loadIPPluginJar : genericplugin
loadIPPluginJar : add genericplugin
loadIPPluginJar : tsc
loadIPPluginJar : add tsc
loadIPPluginJar : i2s
loadIPPluginJar : add i2s
loadIPPluginJar : quadspi
loadIPPluginJar : add quadspi
loadIPPluginJar : can
loadIPPluginJar : add can
loadIPPluginJar : ltdc
loadIPPluginJar : add ltdc
loadIPPluginJar : fatfs
loadIPPluginJar : add fatfs
loadIPPluginJar : adc
loadIPPluginJar : add adc
loadIPPluginJar : usart
loadIPPluginJar : add usart
loadIPPluginJar : sai
loadIPPluginJar : add sai
loadIPPluginJar : spi
loadIPPluginJar : add spi
loadIPPluginJar : dma
loadIPPluginJar : add dma
loadIPPluginJar : comp
loadIPPluginJar : add comp
loadIPPluginJar : tim
loadIPPluginJar : add tim
loadIPPluginJar : i2c
loadIPPluginJar : add i2c
Unzip File : updaters.zip
Standard Deflate
IoConfig Change Database Path : /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX//db/
IoConfig Change Database Version : DB.4.0.90
setPackage(No Configuration,No Configuration)
Unzip File : updaters.zip
Standard Deflate
End of LoadServerUpdate Thread
End of CheckServer Thread
McuScanDialog Used Memory: 47518880 Bytes (249561088)
Flash fore ground black
Ram fore ground black
IO fore ground black
Eeprom fore ground black
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Flash fore ground black
Ram fore ground black
updateSliders move IO Before=14
IO fore ground black
updateSliders move IO After=14
Update: Flash Range0=16 ReqValue=16 Ram Range0=4 ReqValue=4
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Time for Update (SliderChanged) Table : 182mS.
updateSliders move Flash Before=16
Flash fore ground black
updateSliders move Flash After=16
Ram fore ground black
IO fore ground black
Update: Ram Range0=4 ReqValue=4 IO Range0=14 ReqValue=14
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Time for Update (SliderChanged) Table : 115mS.
Flash fore ground black
updateSliders move Ram Before=4
Ram fore ground black
updateSliders move Ram After=4
IO fore ground black
Update: Flash Range0=16 ReqValue=16 IO Range0=14 ReqValue=14
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Time for Update (SliderChanged) Table : 88mS.
Eeprom fore ground black
Flash fore ground black
Ram fore ground black
IO fore ground black
Update: Flash Range0=16 ReqValue=16 Ram Range0=4 ReqValue=4 IO Range0=14 ReqValue=14
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Time for Update (SliderChanged) Table : 76mS.
==> Mcu Request: Series:ST Lines: Package: Flash:16 Ram:4 IO:14
Time for Update (SliderChanged) Table : 59mS.
Flash fore ground black
Ram fore ground black
IO fore ground black
Eeprom fore ground black
Open pdsc File (/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/db/plugins/boardmanager/A_ST_NucleoBoardsList.pdsc) : 13 ms.
Open pdsc File (/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/db/plugins/boardmanager/C_ST_EvalBoardsList.pdsc) : 22 ms.
Open pdsc File (/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/db/plugins/boardmanager/B_ST_DiscoBoardList.pdsc) : 12 ms.
BoardScanPanel Used Memory: 63222584 Bytes (315621376)
Board Panel cleanup begin Used Memory: 81294600 Bytes (315621376)
before GC Used Memory: 81294600 Bytes (315621376)
cleanup end Used Memory: 81294600 Bytes (315621376)
IoConfig Change Database Path : /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX//db/
IoConfig Change Database Version : DB.4.0.90
setPackage(No Configuration,No Configuration)
IoConfig Change Database Path : /usr/local/STMicroelectronics/STM32Cube/STM32CubeMX//db/
IoConfig Change Database Version : DB.4.0.90
setPackage(No Configuration,No Configuration)
Begin LoadConfig() Used Memory: 81294600 Bytes (315621376)
Change cursor
End LoadConfig() Used Memory: 1330567168 Bytes (1552416768)
setPackage(No Configuration,No Configuration)
setPackage(STM32F051R8Tx,LQFP64)
InternalPropertyChange: setIPParameter OLD value:RCC / NEW value:Never Mind
InternalPropertyChange: Rcc_initialization old value
InternalPropertyChange: PinoutChange PA0:GPIO_EXTI0,PC8:GPIO_Output,PC9:GPIO_Output,PA13:SYS_SWDIO,PA14:SYS_SWCLK
Before build in PCC Used Memory: 667117424 Bytes (1547698176)
After build in PCC Used Memory: 677816768 Bytes (1547698176)
Restore cursor
fitInWindow Computed Zoom: 0.8
fitInWindow Computed Zoom: 0.8
fitInWindow Computed Zoom: 0.8
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.st.microxplorer.plugins.ip.gpio.gui.ParameterUI.addPropertyChangeListener(ParameterUI.java:156)
at javax.swing.plaf.synth.SynthPanelUI.installListeners(SynthPanelUI.java:83)
at javax.swing.plaf.synth.SynthPanelUI.installUI(SynthPanelUI.java:63)
at javax.swing.JComponent.setUI(JComponent.java:656)
at javax.swing.JPanel.setUI(JPanel.java:153)
at javax.swing.JPanel.updateUI(JPanel.java:126)
at javax.swing.JPanel.(JPanel.java:86)
at javax.swing.JPanel.(JPanel.java:109)
at javax.swing.JPanel.(JPanel.java:117)
at com.st.microxplorer.plugins.ip.gpio.gui.ParameterUI.(ParameterUI.java:72)
at com.st.microxplorer.plugins.ip.gpio.gui.ParameterUI.(ParameterUI.java:101)
at com.st.microxplorer.plugins.ip.gpio.gui.ComboParameterUI.(ParameterUI.java:431)
at com.st.microxplorer.plugins.ip.gpio.gui.ParamContainer.createPanel(ParamContainer.java:97)
at com.st.microxplorer.plugins.ip.gpio.gui.ParamContainer.update(ParamContainer.java:145)
at com.st.microxplorer.plugins.ip.gpio.gui.GpioTablePanel$RowListener.valueChanged(GpioTablePanel.java:192)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:154)
at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:685)
at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(BasicTableUI.java:947)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1160)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1082)
at java.awt.Component.show(Component.java:1655)
at java.awt.Component.setVisible(Component.java:1607)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.createIpDialog(BlockDiagram.java:357)
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.actionPerformed(BlockDiagram.java:280)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:720)
at java.awt.EventQueue$4.run(EventQueue.java:718)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Hey,
I am getting the same error here. Everything appears to work fine, and I can create a project using the MX software. However when I try to edit the gpio pins I get the same dump as you and the gpio configuration screen does not show up. Running under Linux Mint 17. Is anyone able to edit gpio pins under linux? I know this post has been going on for awhile and the previous post is almost a month old. Just curious if anyone has made any progress yet.


I see the same problem with MX 4.10 and Ubuntu 14.04, I've tried different java versions .. 1.7, 1.8, early access 1.8.0_66-ea all have the same problem with the GPIO dialog box.

-rick


I'm looking forward to an official build/plugin set for linux as well, although the beta seems to be running smoothly.

I'm writing firmware for some STM32L152RE dev boards paired with my custom board, and I can program and debug from within Linux. I really appreciate the open source work that AC6 is doing for this relatively small field, and at the same time I'm looking forward to an official build/plugin.

Dustin


 
Collapse/expand modules below