PIC32CX1025SG61100 NVMCTRL registers

The 16 registers of NVMCTRL (Non-Volatile Memory Controller), from 0x41004000, with their reset value and every field. The PIC32CX1025SG61100 has 2953 registers in 69 peripherals, one page each.

NVMCTRL Non-Volatile Memory Controller

CTRLAControl A

Address
0x41004000
Reset
0x0004
Access
read/write
Size
16-bit
9 fields
FieldBitsWhat it does
CACHEDIS115AHB1 Cache Disable
CACHEDIS014AHB0 Cache Disable
AHBNS113Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated
AHBNS012Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated
RWS11:8NVM Read Wait States
PRM7:6Power Reduction Mode during Sleep
  • 0 NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access.
  • 1 NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode.
  • 3 NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access.
WMODE5:4Write Mode
  • 0 Manual Write
  • 1 Automatic Double Word Write
  • 2 Automatic Quad Word
  • 3 Automatic Page Write
SUSPEN3Suspend Enable
AUTOWS2Auto Wait State Enable

CTRLBControl B

Address
0x41004004
Reset
0x0000
Access
write only
Size
16-bit
2 fields
FieldBitsWhat it does
CMDEX15:8Command Execution
  • 165 Execution Key
CMD6:0Command
  • 0 Erase Page - Only supported in the USER and AUX pages.
  • 1 Erase Block - Erases the block addressed by the ADDR register, not supported in the user page
  • 3 Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page
  • 4 Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register.
  • 16 Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers
  • 17 Lock Region - Locks the region containing the address location in the ADDR register.
  • 18 Unlock Region - Unlocks the region containing the address location in the ADDR register.
  • 19 Sets the power reduction mode.
  • 20 Clears the power reduction mode.
  • 21 Page Buffer Clear - Clears the page buffer.
  • 22 Set Security Bit
  • 23 Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK
  • 24 Chip Erase Lock - DSU.CE command is not available
  • 25 Chip Erase Unlock - DSU.CE command is available
  • 26 Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence
  • 27 Clears STATUS.BPDIS, Boot loader protection is not discarded
  • 28 Set Chip Erase Hard Lock - DSU.CTRL.CE command is not available
  • 29 Set Boot Protect Hard Lock
  • 48 Activate SmartEEPROM Sector 0, deactivate Sector 1
  • 49 Activate SmartEEPROM Sector 1, deactivate Sector 0
  • 50 Starts SmartEEPROM sector reallocation algorithm
  • 52 Lock access to SmartEEPROM data from any mean
  • 53 Unlock access to SmartEEPROM data
  • 54 Lock access to the SmartEEPROM Register Address Space (above 64KB)
  • 55 Unlock access to the SmartEEPROM Register Address Space (above 64KB)

PARAMNVM Parameter

Address
0x41004008
Reset
0x00060000
Access
read only
Size
32-bit
3 fields
FieldBitsWhat it does
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 Pages
SEE31SmartEEPROM Supported
  • 0 No SmartEEPROM support
  • 1 SmartEEPROM is supported

INTENCLRInterrupt Enable Clear

Address
0x4100400C
Reset
0x0000
Access
read/write
Size
16-bit
11 fields
FieldBitsWhat it does
SEEWRC10SEE Write Completed Interrupt Clear
SEESOVF9Active SEES Overflow Interrupt Clear
SEESFULL8Active SEES Full Interrupt Clear
SUSP7Suspended Write Or Erase Interrupt Clear
NVME6NVM Error Interrupt Clear
ECCDE5ECC Dual Error Interrupt Clear
ECCSE4ECC Single Error Interrupt Clear
LOCKE3Lock Error Interrupt Clear
PROGE2Programming Error Interrupt Clear
ADDRE1Address Error
DONE0Command Done Interrupt Clear

INTENSETInterrupt Enable Set

Address
0x4100400E
Reset
0x0000
Access
read/write
Size
16-bit
11 fields
FieldBitsWhat it does
SEEWRC10SEE Write Completed Interrupt Enable
SEESOVF9Active SEES Overflow Interrupt Enable
SEESFULL8Active SEES Full Interrupt Enable
SUSP7Suspended Write Or Erase Interrupt Enable
NVME6NVM Error Interrupt Enable
ECCDE5ECC Dual Error Interrupt Enable
ECCSE4ECC Single Error Interrupt Enable
LOCKE3Lock Error Interrupt Enable
PROGE2Programming Error Interrupt Enable
ADDRE1Address Error Interrupt Enable
DONE0Command Done Interrupt Enable

INTFLAGInterrupt Flag Status and Clear

Address
0x41004010
Reset
0x0000
Access
read/write
Size
16-bit
11 fields
FieldBitsWhat it does
SEEWRC10SEE Write Completed
SEESOVF9Active SEES Overflow
SEESFULL8Active SEES Full
SUSP7Suspended Write Or Erase Operation
NVME6NVM Error
ECCDE5ECC Dual Error
ECCSE4ECC Single Error
LOCKE3Lock Error
PROGE2Programming Error
ADDRE1Address Error
DONE0Command Done

STATUSStatus

Address
0x41004012
Reset
0x0000
Access
read only
Size
16-bit
9 fields
FieldBitsWhat it does
BPHL13Boot Protect Hard Lock
DBPE12Dual Boot Protection Enable
BOOTPROT11:8Boot Loader Protection Size
  • 0 120 kbytes
  • 1 112 kbytes
  • 2 104 kbytes
  • 3 96 kbytes
  • 4 88 kbytes
  • 5 80 kbytes
  • 6 72 kbytes
  • 7 64 kbytes
  • 8 56 kbytes
  • 9 48 kbytes
  • 10 40 kbytes
  • 11 32 kbytes
  • 12 24 kbytes
  • 13 16 kbytes
  • 14 8 kbytes
  • 15 0 kbytes
BPDIS5Boot Loader Protection Disable
AFIRST4BANKA First
SUSP3NVM Write Or Erase Operation Is Suspended
LOAD2NVM Page Buffer Active Loading
PRM1Power Reduction Mode
READY0Ready to accept a command

ADDRAddress

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

RUNLOCKLock Section

Address
0x41004018
Reset
0x00000000
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
RUNLOCK31:0Region Un-Lock Bits

PBLDATA0Page Buffer Load Data x

Address
0x4100401C
Reset
0xFFFFFFFF
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
DATA31:0Page Buffer Data

PBLDATA1Page Buffer Load Data x

Address
0x41004020
Reset
0xFFFFFFFF
Access
read only
Size
32-bit
1 field
FieldBitsWhat it does
DATA31:0Page Buffer Data

ECCERRECC Error Status Register

Address
0x41004024
Reset
0x00000000
Access
read only
Size
32-bit
3 fields
FieldBitsWhat it does
TYPEL29:28Low Double-Word Error Type
  • 0 No Error Detected Since Last Read
  • 1 At Least One Single Error Detected Since last Read
  • 2 At Least One Dual Error Detected Since Last Read
ADDR23:0Error Address
TYPEH31:30High Double-Word Error Type
  • 0 No Error Detected Since Last Read
  • 1 At Least One Single Error Detected Since last Read
  • 2 At Least One Dual Error Detected Since Last Read

DBGCTRLDebug Control

Address
0x41004028
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1ECCELOG
  8. 0ECCDIS
2 fields
FieldBitsWhat it does
ECCELOG1Debugger ECC Error Tracking Mode
ECCDIS0Debugger ECC Read Disable

BCTRLBoot Control

Address
0x41004029
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0BRPE
1 field
FieldBitsWhat it does
BRPE0Boot Read Protection Enable

SEECFGSmartEEPROM Configuration Register

Address
0x4100402A
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1APRDIS
  8. 0WMODE
2 fields
FieldBitsWhat it does
APRDIS1Automatic Page Reallocation Disable
WMODE0Write Mode
  • 0 A NVM write command is issued after each write in the pagebuffer

SEESTATSmartEEPROM Status Register

Address
0x4100402C
Reset
0x00000000
Access
read only
Size
32-bit
6 fields
FieldBitsWhat it does
PSZ18:16SmartEEPROM Page Size
SBLK11:8Blocks Number In a Sector
RLOCK4SmartEEPROM Write Access To Register Address Space Is Locked
LOCK3SmartEEPROM Write Access Is Locked
BUSY2Busy
ASEES0Active SmartEEPROM Sector