PIC32MZ1025W104132 NVM registers

The 17 registers of NVM (Flash controller (NVM)), from 0xBF800600, with their reset value and every field. The PIC32MZ1025W104132 has 1091 registers in 66 peripherals, one page each.

Most PIC32 SFRs have three more registers right after them: CLR at +4, SET at +8 and INV at +C (T1CONCLR, T1CONSET, T1CONINV), which clear, set or flip just the bits written as 1, in one write.

NVM Flash controller (NVM)

NVMCONPROGRAMMING CONTROL REGISTER

Address
0xBF800600
Reset
0x00000000
Access
read/write
Size
32-bit
6 fields
FieldBitsWhat it does
WR15Write Control bit
  • 0 Flash operation is complete or inactive
  • 1 Initiate a Flash operation
WREN14Write Enable bit
  • 0 Disable writes to WR bit and enables writes to the NVMOP bits
  • 1 Enable writes to the WR bit and disables writes to the NVMOP bits
WRERR13Write Error bit
  • 0 Program or erase sequence completed normally
  • 1 Program or erase sequence did not complete successfully
LVDERR12Low-Voltage Detect Error bit
  • 0 Voltage level is acceptable for programming
  • 1 Low-voltage detected (possible data corruption
HTDPGM8High Temperature Detected during Program/Erase Operation Bit
  • 0 High Temp Not Detected
  • 1 High Temp Detected
NVMOP3:0 NVM Operation bits
  • 0 No operation
  • 1 Word program operation: programs word selected by NVMADDR
  • 2 Quad Word (128-bit) program operation: programs the 128-bit Flash word selected by NVMADDR
  • 3 Program erase operation: erase all of program Flash memory (all pages must be unprotected
  • 3 Row program operation: programs row selected by NVMADDR
  • 4 Reserved
  • 4 Page erase operation: erases page selected by NVMADDR
  • 5 Lower program Flash memory erase operation: erases only the lower mapped region of program Flash (all pages in that region must be unprotected)
  • 6 Upper program Flash memory erase operation: erases only the upper mapped region of program Flash (all pages in that region must be unprotected)
  • 7 Reserved

NVMCON2PROGRAMMING CONTROL 2 REGISTER

Address
0xBF800610
Reset
0x00000000
Access
read/write
Size
32-bit
9 fields
FieldBitsWhat it does
SLEEP24
WS20:16
TEMP14
CREAD113
VREAD112
RETRY9:8
SWAPLK7:6
PREPG0NVM Pre-Program Control Bit
  • 0 Program Operations exclude Pre-Program step
  • 1 Program Operations include Pre-Program step
ERS31:28

NVMKEYProgramming Unlock Register

Address
0xBF800620
Reset
0x00000000
Access
write only
Size
32-bit

NVMADDRFlash Address Register

Address
0xBF800630
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA0Flash Data Register (x = 0-3

Address
0xBF800640
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA1Flash Data Register (x = 0-3

Address
0xBF800650
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA2Flash Data Register (x = 0-3

Address
0xBF800660
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA3Flash Data Register (x = 0-3

Address
0xBF800670
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA4Flash Data Register

Address
0xBF800680
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA5Flash Data Register

Address
0xBF800690
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA6Flash Data Register

Address
0xBF8006A0
Reset
0x00000000
Access
read/write
Size
32-bit

NVMDATA7Flash Data Register

Address
0xBF8006B0
Reset
0x00000000
Access
read/write
Size
32-bit

NVMSRCADDRSource Data Address Register

Address
0xBF8006C0
Reset
0x00000000
Access
read/write
Size
32-bit

NVMPWPLTFLASH PROGRAM WRITE PROTECT (WATERMARK) REGISTER

Address
0xBF8006D0
Reset
0x80000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
PWPLT23:0
ULOCK31NVMPWPLT Register Unlock Bit
  • 0 Register is locked and cannot be modified
  • 1 Register is not locked and can be modified

NVMPWPGTEFLASH PROGRAM WRITE PROTECT

Address
0xBF8006E0
Reset
0x80FFFFFF
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
PWPGTE23:0
ULOCK31Program Flash Memory Page Write-protect Unlock bit
  • 0 Register is locked and cannot be modified
  • 1 Register is not locked and can be modified

NVMLBWPProgram Flash Write-Protect Register

Address
0xBF8006F0
Reset
0x80FFFFFF
Access
read/write
Size
32-bit
25 fields
FieldBitsWhat it does
LBWP2323
LBWP2222
LBWP2121
LBWP2020
LBWP1919
LBWP1818
LBWP1717
LBWP1616
LBWP1515
LBWP1414
LBWP1313
LBWP1212
LBWP1111
LBWP1010
LBWP99
LBWP88
LBWP77
LBWP66
LBWP55
LBWP44
LBWP33
LBWP22
LBWP11
LBWP00
ULOCK31

NVMUBWP

Address
0xBF800700
Reset
0x80FFFFFF
Access
read/write
Size
32-bit
25 fields
FieldBitsWhat it does
UBWP2323
UBWP2222
UBWP2121
UBWP2020
UBWP1919
UBWP1818
UBWP1717
UBWP1616
UBWP1515
UBWP1414
UBWP1313
UBWP1212
UBWP1111
UBWP1010
UBWP99
UBWP88
UBWP77
UBWP66
UBWP55
UBWP44
UBWP33
UBWP22
UBWP11
UBWP00
ULOCK31