The Bootloader project has the Fuse
settings set to default except below Fuse bits:
Bootloader region size is
specified using BOOTPROT Fuse bit. BOOTPROT = 0x10 (for PIC32CM LE00) or
BOOTPROT = 0x14 (for PIC32CM LS00/LS60).
The Bootloader region is
protected by setting the SULCK configuration at production to 0x6 (SULCK.BS
= 0).
The Fuse settings can be changed in
following ways:
The Bootloader provides a
separate command to program the Fuse Bits received from the Host. Refer to
the Bootloader protocol documentation and respective Host utility
documentation for additional information.
The application can check the
Fuse bits during the boot-up, and then program any change required using the
NVMCTRL peripheral.
The Fuse settings are placed in a
higher memory location in the Flash (User Row and BOCOR Row). The Fuse settings need
to be disabled for the application project, which will be boot-loaded, as the size
of the binary file becomes too large when the Fuse settings are enabled.
When updating the Bootloader itself,
make sure that the Fuse settings for the Bootloader application are disabled.
For PIC32CM LS00/LS60:
Proper Fuse settings required
by the application have to be sent along with application binary.
Peripherals used by the
Bootloader (SERCOM0, SERCOM2, BOOT Pin) should not be configured as
Non-Secure while updating the Fuse settings.
When WDT is enabled from the
Fuse Settings, the Bootloader refreshes the WDT at intervals to avoid reset.
Therefore, the WDT peripheral should not be configured as Non-Secure if it
is enabled through Fuse settings.