Hi there
i was trying to transfer memory from my externally connected compactflash to the internal memory by using dma transfer.
My source address is at 0x8000'0000 (/CS2) with a cache Setting of OS_ARM_CACHEMODE_NC_NB ( strongly ordered ).
My destination address is somewhere in the 0x6000'0000 to 'x609F'FFFF space (given by the linker).
If the cache settings of this space is set to OS_ARM_CACHEMODE_C_NB (Non-shareable Normal, Write-Through Cacheable)
then it works but slowly. A memory Transfer with c-code and Cache Setting of OS_ARM_CACHEMODE_C_B
(Non-shareable Normal, Write-Back Cacheable) is much faster (x2)
I mapped this space now to 0x2000'0000..0x209F'FFFF with Cache Setting OS_ARM_CACHEMODE_C_NB and tried to Access my destination
buffer by subtracting 0x4000'0000 from the dest address but it doesn't works. No Bytes will be copied.
I further tried to copy data to buffer which i absolutely located to 0x2090'0000 and it works. But only to this address in the space of 0x2000'000..0x209F'FFF.
Any other address in this space failed.
Does anybody have an idea what goes wrong ?
Thanks!