Here is an ARM cross-compiler tutorial for STM32 and other ARM-based microcontrollers, like Microchip’s SAM’s. What’s a cross compilation process? That is when you use a x86 machine to produce binary code for a different architecture, like ARM. The situation is similar when you use a Raspberry Pi (ARM CortexA) to build apps for STM32