The 11 registers of NVMCTRL (Non-Volatile Memory Controller), from 0x41004004, with their reset value and every field. The PIC32CM6408PL10064 has 702 registers in 32 peripherals, one page each.
NVMCTRL Non-Volatile Memory Controller
CTRLBControl B
Address
0x41004004
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
Field
Bits
What it does
CMDEX
15:8
Command Execution
165 Execution key
CMD
6:0
Command
0 No command
1 No operation
2 Flash Write Enable
8 Flash Page Erase Enable
9 Flash 2-page Erase Enable
10 Flash 4-page Erase Enable
11 Flash 8-page Erase Enable
12 Flash 16-page Erase Enable
13 Flash 32-page Erase Enable
14 Lock Region. Sets the bit in the Region n Lock Bits bit field in the Lock Section register (NVMCTRL.LOCK) corresponding to the address location in the ADDR register.
15 Unlock Region. Clears the bit in NVMCTRL.LOCK corresponding to the address location in the ADDR register.
16 Erase BOOTCFG Page Enable
17 Write BOOTCFG Page Enable
18 Write Enable to ROMCFG.NVMLOCKREGION. Writes to other addresses will cause STATUS.PROGE to be set.
32 Write ROMCFG Page Enable. The ROMCFG Page is used by the boot ROM to store Debug Access Level (DAL) bits and other security or protection bits for such as CEHL and Immutable boot.
33 Erase FlashRequires DAL == 2 or SYSINT privileges