n. What ID data is stored in a PIC32 microcontroller?

There are several read-only configuration registers in a PIC32 microcontroller. The most important is a configuration register that holds a 32-bit value composed of a revision and a microcontroller ID number. There are also special registers that hold information about the SRAM, flash RAM and boot flash RAM sizes. The information can be used to provide accurate chip memory size for an external programming tool or to an internally running program that needs to store data. Unfortunately, flash RAM row size is not directly provided, but it can be determined from the boot flash RAM size. The row size is 96-times smaller than the boot flash RAM size. If you have 3 kB of boot flash RAM, this is 3072 bytes/96 = 32 bytes. If you have 12 kB of boot flash RAM, this is 12288 bytes/96 = 128 bytes.

However, only the ID number and revision number can be read by an external programming tool without entering a special serial execution mode. The microcontroller cannot enter serial execution mode, if it is write protected. It hast to be completely erased to turn the protection off and to be able to reprogrammed.

You don’t need a long table with all the PIC32 microcontrollers’ data, anymore. Now, it suffices to read all the information from the chip itself!