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

How do I use "User Constants" for "Parameter Settings"?

I read (well, skimmed) the “manual” and I thought I understand:
I create a “User Constant”, give it a value, and then I can use the name of the constant instead of a parameter on the “Parameter Settings” tab.
I tried it for timers “Counter Period” and it didn’t work; it kept reverting to zero after saving.

If I’m doing it the wrong way, how am I supposed to use this?
I was hoping I can get a variable (even if called constant) that I can change in user code to change timer period (for example).

If my expectation is wrong... what are the User COnstants good for?




Hi Cat,
I think you refer to ST’s CubeMX software, not to System Workbench for STM32.
Anyway I just check and there seems to be a problem with these, as they seem to be lost when saving a project, restarting CubeMX then reloading th eproject... I will forward this to ST team and they will look at it. I will keep you informed of any news on this.

Yes, the Cube, thank you. I am very glad they work together so I forgot they are in fact very separate things :-)

Hi Cat,

Please check the 2 points below:

1- Constant value: Be sure that the value of your constant is valid for the given parameter. Because in case of a non-valid value, the constant can’t be accepted.

2- Constant name: maybe this is related to the constant name. There is already a known issue when the constant contains an “E”. This issue will be also fixed in the next release STM32CubeMX v4.11 planned for e/o w42.

If not, could you please provide the generated .ioc and the defined constant to be able to reproduce the problem?

Hi Bernard, the encountred issue when saving the project is already fixed in the V4.10.0.
Could you please, provide your .ioc?

Thanks and Best regards,

Thank you,
It’s likely my constant name did contain “E”s (or “e” if it’s the same) as it’s only the most common letter...
I’ll check it again in 4.11, when it comes.

But: was my usage correct? Is it OK to use the User Constants as Variables in Workbench User Code (once they work)?

Thanks and best,


Yes, it should be ok to use your constant as Variable in your user code, because it will be defined in the Inc/mxconstants.h file.


Thank you Amel,
This allowed me to see that even though I couldn’t use it as a parameter value, the constant I defined was indeed saved to “mxconstants.h”:

  1. define DDS_IOUPDT_LENGTH 1000

However, since it’s defined as a #define I think it can’t really be a variable :-(