About cache areas vs non cached areas
Hi, when it comes to PIC programming, I have developed some "black holes" in my abilities. The SPI is one subject - I always run into virtual swamps of ambiguities when dealing with those.
Another area is flash programming. The main reason for headache is the fact that the caching system behaves unexpected when the flash mem has been programmed. So, I found out that the non cached areas are some sort of "safe havens".
Now I discovered yet another strangelet. After I burned the data into flash, I validated it with a home brewed version of memcmp(). I converted the addresses by using the KVA0_TO_KVA1() macro. But the validation failed.
What I found was that converting the ram area from 0x80000000 to 0xa0000000 via said macro, gave a non valid result. Reading the ram at 0x800008a0 ( in this case ) gave the expected result, but reading 0xA00008a0 gave another value.
What can we say about this? I read somewhere that the ram area is divided in a upper and lower half - has that something to do with it?