10.11 Memory Execution Violation
- Flash Memory: The “Device Sizes and Addresses” table shows the addresses available on the PIC16(L)F18425/45 devices based on user Flash size. Execution outside this region generates a memory execution violation.
- Storage Area Flash (SAF): If Storage Area Flash (SAF) is enabled , the SAF area is not a valid execution area.
Prefetched instructions that are not executed do not cause memory execution
violations. For example, a GOTO
instruction in the last memory location
will prefetch from an invalid location; this is not an error. If an instruction from an
invalid location tries to execute, the memory violation is generated immediately, and
any concurrent interrupt requests are ignored. When a memory execution violation is
generated, the device is reset and flag MEMV is cleared in
PCON1 to signal the cause. The flag needs to be set in code after a memory execution
violation.