Change Cache Policy
The MPLAB® XC32 C compiler provides an easy to use cache configuration file: “pic32_init_cache.S” If you copy this file into your local project directory it will override the default runtime setup code used to initialize the cache. The default runtime setup code initializes the cache policy to write-back with write allocation.
You can find this file in the following XC32 install directory:
…xc32/vx.xx/pic32-libs/libpic32/stubs
File: pic32_init_cache.S
/* Cache Coherency Attributes */
#define _CACHE_WRITEBACK_WRITEALLOCATE 3
#define _CACHE_WRITETHROUGH_WRITEALLOCATE 1
#define _CACHE_WRITETHROUGH_NOWRITEALLOCATE 0
#define _CACHE_DISABLE 2
/* Set __PIC32_CACHE_MODE to the desired coherency attribute */
#define __PIC32_CACHE_MODE _CACHE_WRITEBACK_WRITEALLOCATE //default runtime setup policy
Note: “__PIC32_CACHE_MODE” is used to define the KSEG0 cache coherency algorithm bits (K0<2:0>) found in the PIC32MZ’s “CONFIG” register. Please refer to the device data sheet for details.