Forcing GCC to generate only Thumb-16 instructions for Cortex-M
The Cortex-M processors from ARM only support the Thumb-16 instruction set. By default, the GCC compiler will generate a mix of 32-bit Thumb-2 and 16-bit Thumb instructions when compiling code for Cortex-M. However, it is possible to force GCC to emit only 16-bit Thumb instructions using compiler flags. Why limit code to Thumb-16 on Cortex-M?