PIC32CM6408PL10064 NVMCTRL registers

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
FieldBitsWhat it does
CMDEX15:8Command Execution
  • 165 Execution key
CMD6:0Command
  • 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

PARAMNVM Parameters

Address
0x41004008
Reset
0x00000000
Access
read only
Size
32-bit
3 fields
FieldBitsWhat it does
BOOTPROT26:24Boot Section Size
  • 0 32768 bytes are protected.
  • 1 16384 bytes are protected.
  • 2 8192 bytes are protected.
  • 3 4096 bytes are protected.
  • 4 2048 bytes are protected.
  • 5 1024 bytes are protected.
  • 6 512 bytes are protected.
  • 7 0 bytes are protected.
PSZ18:16Page Size
  • 0 8 bytes
  • 1 16 bytes
  • 2 32 bytes
  • 3 64 bytes
  • 4 128 bytes
  • 5 256 bytes
  • 6 512 bytes
  • 7 1024 bytes
NVMP15:0NVM Parameters

INTENCLRInterrupt Enable Clear

Address
0x4100400C
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
ERROR1Error Interrupt Enable
READY0NVM Ready Interrupt Enable

INTENSETInterrupt Enable Set

Address
0x41004010
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
ERROR1Error Interrupt Enable
READY0NVM Ready Interrupt Enable

INTFLAGInterrupt Flag Status and Clear

Address
0x41004014
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
ERROR1Error
READY0NVM Ready

INTFLAGSETInterrupt Flag Software Set

Address
0x41004018
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
ERROR1Error
READY0NVM Ready

STATUSStatus

Address
0x4100401C
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
LOCKE3Lock Error Status
PROGE2Programming Error Status

ADDRAddress

Address
0x41004020
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
ADDR31:0NVM Address

LOCKLock Section

Address
0x41004024
Reset
0x00000000
Access
read only
Size
32-bit
16 fields
FieldBitsWhat it does
LOCK1515Region 15 Lock Bit
LOCK1414Region 14 Lock Bit
LOCK1313Region 13 Lock Bit
LOCK1212Region 12 Lock Bit
LOCK1111Region 11 Lock Bit
LOCK1010Region 10 Lock Bit
LOCK99Region 9 Lock Bit
LOCK88Region 8 Lock Bit
LOCK77Region 7 Lock Bit
LOCK66Region 6 Lock Bit
LOCK55Region 5 Lock Bit
LOCK44Region 4 Lock Bit
LOCK33Region 3 Lock Bit
LOCK22Region 2 Lock Bit
LOCK11Region 1 Lock Bit
LOCK00Region 0 Lock Bit

DATARead Data

Address
0x41004028
Reset
0x00000000
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
DATA31:0Read Data

WPCTRLWrite Protection Control

Address
0x4100402C
Reset
0x00000000
Access
read/write
Size
32-bit
3 fields
FieldBitsWhat it does
WPLCK1Write Protection Lock
WPEN0Write Protection Enable
WPKEY31:8Write Protection Key
  • 5133901 Allow writes to the WPCTRL register