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 two short videos (registration required) highlighting:

System Workbench for STM32

Need Float output for printf

I have read that the floating point outputs for printf is turned off by default. How do I turn it on?


I know that this thread is one year old, but to give an answer for other people that are looking for the answer, I will give it.

By default the float support is disabled. To enable it, add the linker flag: “-u _printf_float” in your project properties:
Properties -> C/C++ Build -> Settings -> MCU GCC Linker -> Miscellaneous -> Linker flags


Hello, I’m asking you directly because you seem to know your way around OpenSTM32.

I’ve added the configuration that you posted, and it worked great, but compiling memory took up an extra 15kByte or so of memory just so the printf + float would work.

Do you know of any workaround that takes up less memory? Or I should write my own code to printf float numbers to save rom memory?



Very helpful @rreignier! I was fighting with printing floats for a while before I ran across this. Making my own “Printfloat” ended up being less accurate than enabling that flag. I included a screenshot to go along with your answer.

Thank you very much rreignier. Useful contribution!!! Thx

There was the same need as in the topic starter. After installing this flag, the output stopped working at all. What is wrong?