6.1.6.2.1 Word Programming Sequence
Follow this sequence of steps for word or quad word programming:
-
For the PIC32CX-BZ6, program the write data into NVMDATA0 and NVMDATA1 for double word programming and use NVMDATA0 to NVMDATA7 for quad double word.
For the PIC32CX-BZ3, program the write data into NVMDATA0 for single word programming and use NVMDATA0 to NVMDATA3 for quad word.
- Load NVMADDR with the address to be programmed.
- Run the sequencer start unlock sequence using word (quad) program command to start the sequence:
- Set NVMCON.WREN=1 (allow writes to NVMCON.NVMWR) and set NVMCON.NVMOP to the desired operation WORD_NVMOP or QUAD_NVMOP (using a single write).
- Unlock the sequence to be followed for the programming to take place.
- Set NVMKEY = 0x00000000 (Reset key)
- Set NVMKEY = 0xAA996655
- Set NVMKEY = 0x556699AA
- Write to the target register NVMCONSET to set the NVMWR bit (not the NVMCON register itself). This starts the FC operation.
Note: The program sequence completes when the hardware clears the NVMCON.NVMWR bit. This pulses a Flash event. - Clear the NMVCON.WREN bit.
- Check the NVMCON.NVMERR and NVMCON.BORERR bits to ensure that the programming is successful.
