When I use the EEPROM emulation code, I need disable the dcache of 5744, or the swapping will fail.
The function of disabling dcache see below:
void dcache_disable(void)
{ /* Body */
register UINT32 val;
E200CORE_SPR_GET(val,E200CORE_L1CSR0); /* L1CSR0 */
val &= ~E200CORE_L1CSR0_CE;
/* Memory Synchronize */
E200CORE_SYNC();
/* Instruction Synchronize */
E200CORE_ISYNC();
E200CORE_SPR_SET(E200CORE_L1CSR0,val);
/* Instruction Synchronize */
E200CORE_ISYNC();
} /* Endbody */
In this case,the EEPROM emulation works very well, but the CCP with VECTOR'S APE became be unsteadiness.
I want to know how to solve the contradiction between EEPROM emulation and CCP?