5.7.1.19 Mips16/Mips16e Options
The -mips16
option generates MIPS16 code, suitable for MIPS16 or microMIPS
Instruction Set Architecture (ISA) mode. The -mips16e
option is
equivalent and is provided for backwards compatibility with older toolchains. These
options are only available in the PRO edition.
The -mno-mips16
option (note the slightly different 'no' form of this option, which includes an additional 'm' character) will have all code built using the MIPS32 ISA.
On PIC32M devices, bit 0 of the program counter indicates the ISA mode. When this bit is clear, the device is running in MIPS32 mode. When this bit is set, the device is running in either MIPS16 or microMIPS mode, depending on the core of the selected device. This means that if you execute a hard-coded jump, bit 0 must be set to the appropriate value for the destination function. Hard-coded jumps are most commonly seen when jumping from a bootloader to a bootloaded application.