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=actionHow the compiler will respond to storage qualifiers.
-mchecksum=specsThe generation and placement of a checksum or hash.
-mcodeoffset=offsetThe offset applied to reset and interrupt vectors.
-m[no-]configWhether the device will be programmed with default configuration bit values.
-mcpu=deviceThe target device that code will be built for.
-mdebugger=typeWhich debugger will be in use when executing the code.
-m[no-]default-config-bitsSee -m[no-]config.
-mdfp=pathWhich device family pack to use.
-m[no-]downloadHow the final HEX file is conditioned.
-m[no-]download-hexSee -m[no-]download.
-memi=modeThe external memory interface that will be used.
-merrata=typeWhich workarounds to errata will be applied by the compiler.
-mheap=sizeThe maximum allowable size for the heap.
-m[no-]ivt=addressThe interrupt vector table selected at startup.
-m[no-]keep-startupWhether the runtime startup source is deleted after compilation.
-mmaxichipUse of a hypothetical device with full memory.
-m[no-]osccalWhether the oscillator will be calibrated.
-m[no-]oscval=valueThe oscillator calibration value.
-mram=rangesData memory that is available for the program.
-mreserve=space@start:endThe address ranges in the memory space to be reserved.
-m[no-]resetbitsWhether the device status bits should be preserved.
-mrom=rangesProgram memory that is available for the program.
-m[no-]save-resetbitsSee -m[no-]resetbits.
-mshroudWhether 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-]stackcallWhether functions can be called via lookup tables.
-msummary=typesWhat memory summary information is produced.
-mundefints=actionHow the compiler completes unimplemented interrupts.
-m[no-]use-ivtsee -m[no-]ivt.