In the Cortex-R5 TRM, there are some restrictions for the AXI.
Such as, no transaction ever crosses a 32-byte boundary in memory for AXI transfer.
Is there any restriction for Cortex-R52 ?
Per our test of Cortex-R52, for the same code, if the code cross two cache line address range will spend much more time than within one cache line address range when I cache is disabled.
Here is my understanding.
#1. Usually WRAP xfer for NORMAL cacheable memory only. Let's say CPU want to read 0x1018. AXIM interface may issue WRAP access （start w/ 0x1018）, once the word at 0x1018 retrieved, CPU been feed and AXIM interface keep fetching to 0x101f then wrap to 0x1000， and put all data into one cache line. The benefit here is CPU be responded much earlier. Please be noticed that in the whole process, the access not crosses a 32-byte boundary (AKA, the cache line size)
#2. If cache disabled, let's assume CPU read 32 bytes from 0x1018; here is what happened on AXIM: read 8 bytes from 0x1018， then issue another xfer to read 24 bytes from 0x1020. If read 32 bytes from 0x1000， then AXIM just need one AXI xfer： read 32bytes from 0x1000.
Hope it helps.