8.4.1 Data-init Option
The --data-init option creates a special
output section named .dinit as a template for the
run-time initialization of data. The C start-up module in libpic32.a
for MIPS devices or libpic32c.a for ARM devices interprets this
template and copies initial data values into initialized data sections. Other data
sections (such as .bss) are cleared before the
main() function is called. Note that the persistent data section
(.pbss) is not affected by this option. This is
the default action if no option is specified.
The --no-data-init form of this option selects an implementation of the C
start-up module in libpic32.a or libpic32c.a that
contains weak definitions for the data initialization routines. You should override
these in your code if you require customized initialization of data. For PIC32M targets,
override the routine __pic32_data_init, for PIC32C/SAM devices,
override the routine __pic32c_data_initialization. Alternatively,
remove the call to the data-init function from the device startup code.
