2.1 Devices with Dual Flash Panel and Dual Boot Regions

The PIC32MKXXXXXXD/E/F/K/L/M and the PIC32MZ device families incorporate several features the facilitate field (self) programming of the device. These features include dual Flash panels with dual boot regions, an aliasing scheme for the boot regions allowing automatic selection of boot code at start-up and a panel swap feature for Program Flash. The two Flash panels and their associated boot regions can be erased and programmed separately. Refer to the “Section 48. Memory Organization and Permissions” (DS60001214) of the “PIC32 Family Reference Manual” for a detailed explanation of these features.

A development tool used for production programming will not be concerned about most of these features with the following exceptions:

  • Ensuring the SWAP bit (NVMCON[7]) is in the proper setting. The default setting is ‘0’, indicating no swap of panels. The development tool must assume the default setting when generating source files for the programming tool.
  • Proper handling of the aliasing of the boot memory in the checksum calculation. The aliased sections are duplicates of the fixed sections. See Checksum for more information on checksum calculations with aliased regions.
  • For the PIC32MK devices, using the Erase/Retry feature when an attempt to erase a Flash page fails and requires a retire. See Initiating a Page Erase for more information.