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

stdperiph, STemWin and Linux

Hi folks,
I’m having a run at producing a project for an STM32F429I-DISCO board with STemWin support. I thought I’d report what I ran into so folks can either tell me what I overlooked or perhaps found areas for improvement in Workbench.

First, the project came up with insufficient include directories. The projct started with:


and I added


One of the includes complained about a missing macro so I had to define STM32F429_439xx

With those changed I was able to build. biggrin

Flush with that success I went to debug. This was not so much fun. After choosing the Ac6 STM32 Debugging configuration I get an error message:

Resource '/stm32f429i-disco_stdperiph_lib' is not open.


I’m at a loss here. I’m not sure why the debugger wants this resource or how to provide it.

Wait - I have it! There is a project in the same workspace by that name. Opening it resiolves that issue. smile

The first try to debug ended with some kind of timeout in the back end. However the second try try succeeded!

Now to get something useful programmed. At present I’m a lot more familiar with the HAL libraries so I need tocome up to speed on the standard peripheral library.

For the folks working on System Work bench - Many thanks!

For anyone else - hope you find this useful.



Normally, when you create a project using th eSystem Workbench for STM32 wizard, the library project is automatically opened; if it was closed it’s probably because you close it, thinking it was no more useful...

The firmware code was placed in a separate library so that you can create several programs (projects) on the same board that share the same library without having to incur th ecompile time for the library.

As the linker is smart enough to only include, in your final binary, code that was effectively useful, you can create a common library for all applications using a given board and only compile it once.

FreeRTOS compatibility will be enhanced, for HAL library, in the next release of System Workbench for STM32 which is due end of the week. This shoud solve the problems you report. You will just have to do a Help >> Check for updates... to get it next week.

Regarding the differences between the HAL and StdPeriph libraries, the HAL libraries are the new format of libraries, wile StdPeriph are legacy firmware libraries, so if you are used to the HAL libraries, there is probably no need to get accstomed to the older StdPeriph libraries (especially as these will not support new chips and may not be updated for bug fixes in the future).


Hi Bernard,
Thank you for the reply.

Yes, the closed library project is definitely something I did not understanding the implications.

I agree with your comments on HAL vs. stdperiph libraries. I’m still trying to figure out what works easily and it seems that stdperiph organization is a little simpler. I have no imtention to stick with that long term, but it did get me to the point where I have something dislayed on the LCD. biggrin

At present I’m uncertain that my HAL library installation is OK. Workbench installs with 1.4 and MX has installed with 1.5. I’m left wondering if that will lead to difficulty when I import a project generated using MX. Will Workbench mix 1.4 and 1.5 libraries?

I am looking forward to the update.


Hello guys!

Did anyone figured out how to use STemWin in Landscape Mode? I’m using AC6 with ST’s Std.Periph.Lib implementation and so far so good on displaying texts and buttons on LCD. However, I tried everything possible to rotate screen but without success! Any advice?