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

You are viewing a reply to Brilliant For-loop Bug  

Brilliant For-loop Bug


Hi Ben,

This is exactly what I’ve said in my first answer; the compiler will always try to optimize out all code that has no visible effect; adding some delays is not considered a visible effect as the compiler has no idea about the time taken by any operation, so reducing this time is considered a good optimization (that is the real objective of optimization, isn’t it?).

I have however to investigate why, when i is declared as volatile, the last loop is ignored, as the purpose of volatile is to force the compiler to do all actions requested on the variable, as it may have some side effect...

Bernard (Ac6)