4.6.1 Options Specific to PIC Devices

The options shown in the table below are useful when compiling for 8-bit Microchip PIC devices with the MPLAB XC8 compiler and are discussed in the sections that follow.

Table 4-6. Machine-specific Options
Option

(links to explanatory section)

Controls
-maddrqual=action How the compiler will respond to storage qualifiers.
-mchecksum=specs The generation and placement of a checksum or hash.
-mcodeoffset=offset The offset applied to reset and interrupt vectors.
-m[no-]config Whether the device will be programmed with default configuration bit values.
-mcpu=device The target device that code will be built for.
-mdebugger=type Which debugger will be in use when executing the code.
-m[no-]default-config-bits See -m[no-]config.
-mdfp=path Which device family pack to use.
-m[no-]download How the final HEX file is conditioned.
-m[no-]download-hex See -m[no-]download.
-memi=mode The external memory interface that will be used.
-merrata=type Which workarounds to errata will be applied by the compiler.
-mheap=size The maximum allowable size for the heap.
-m[no-]ivt=address The interrupt vector table selected at startup.
-m[no-]keep-startup Whether the runtime startup source is deleted after compilation.
-mmaxichip Use of a hypothetical device with full memory.
-m[no-]osccal Whether the oscillator will be calibrated.
-m[no-]oscval=value The oscillator calibration value.
-mram=ranges Data memory that is available for the program.
-mreserve=space@start:end The address ranges in the memory space to be reserved.
-m[no-]resetbits Whether the device status bits should be preserved.
-mrom=ranges Program memory that is available for the program.
-m[no-]save-resetbits See -m[no-]resetbits.
-mshroud Whether the output file should obfuscate the source code.
-msmart-io-format="fmt" The functionality (size) of formatted IO functions linked in.
-mstack=model[:size] Which data stack will be used by default.
-m[no-]stackcall Whether functions can be called via lookup tables.
-msummary=types What memory summary information is produced.
-mundefints=action How the compiler completes unimplemented interrupts.
-m[no-]use-ivt see -m[no-]ivt.