9.1.2.5 Memory Violation
A Memory Execution Violation Reset occurs while executing an instruction that has been fetched from outside a valid execution area, clearing the MEMV bit. Refer to the “Memory Execution Violation” section in the “Resets” chapter for the available valid program execution areas and the PCON1 register definition for MEMV bit conditions.
REG | Address | Partition | |||
---|---|---|---|---|---|
BBEN = 1
SAFEN = 1 | BBEN = 1
SAFEN = 0 | BBEN = 0
SAFEN = 1 | BBEN = 0
SAFEN = 0 | ||
PFM | 00 0000h ... Last Block Memory Address | Application Block(4) | Application Block(4) | Boot Block(4) | Boot Block(4) |
Last Boot Block Memory Address +
1 (1) ... Last Program Memory Address -
80h | Application Block(4) | Application Block(4) | |||
Last Program Memory Address - 7Fh(2) ... Last Program Memory Address | SAF(4) | SAF(4) | |||
CONFIG | Config Memory Address(3) | CONFIG | |||
EEPROM | F000h-F0FFh | EEPROM |
Note:
- Last Boot Block Memory Address is based on the BBSIZE Configuration bits.
- Last Program Memory Address is the Flash size given in the “Program Memory Organization” section in the “NVM - Nonvolatile Memory Control” chapter.
- Config Memory Address are the address locations of the Configuration Words given in the “NVMREG Access to DIA, DCI, User ID, DEV/REV ID, and Configuration Words” section in the “NVM - Nonvolatile Memory Control” chapter.
- Each memory block has a corresponding write protection fuse defined by the WRTAPP, WRTB, WRTC, WRTD, and WRTSAF Configuration bits.