Hi Everyone,
I am currently working on a Proof of Concept (PoC) project using the NXP MIMXRT1176DVMAA processor on an i.MXRT1170 EVKB board.
My development environment consists of MCUXpresso IDE with the safety-certified Arm Compiler for Embedded FuSa.During compilation, I want to avoid the generation of 16-bit instructions and force the toolchain to emit only 32-bit instructions.I understand that the Thumb-2 (T32) instruction set natively mixes 16-bit and 32-bit instructions by default to balance performance and code size. However, for our project requirements, we need every single generated instruction to be exactly 32 bits wide.
Could anyone kindly guide me on how to configure the compiler or toolchain options in MCUXpresso IDE to enforce 32-bit wide instruction generation?
Thank you,
Karthi
Hi @KD7 ,
Thanks for your interest in NXP MIMXRT series!
On RT1170 / Cortex-M7, this is not supported as a global compiler setting. The core executes ARMv7-M Thumb/T32 code, and T32 is inherently mixed 16-bit/32-bit. The A32 -marm option would be the fixed 32-bit instruction set option, but it is not valid for M-profile targets.
For hand-written assembly only, .W can force selected T32 instructions to 32-bit encodings where valid, but it cannot force all compiler-generated C/C++ instructions to be 32-bit.
ARM may provide more information on this topic.
Thanks and best regards,
Gavin