1.3 Fuse Configurations

  • 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.