This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS ARM advanced features



I am using CCSv5 with Cortex R4 device. In ARM advanced features,I have the ability to flush data cache or instruction cache.

What does this function do? When i execute this, i dont see changes to my internal cache memory.

I also see that i cannot execute clean data cache. Are these functions specific to Cortex A or both Cortex A/R?

Thanks.

B Chavali

  • Hi,

    A cache flush operation writes all its data to the memory and marks it as invalid, therefore forcing the next instruction or data to be fetched directly from the memory. However, it does not particularly writes zeros or something else to the cache memory itself (that would be an operation of invalidate and clean). You would probably see changes in the destination memory (if your algorithm was modifying data) after performing a flush. 

    Since these operations follow the ARM specifications, a good reference to better understand these operations is shown in sections 4.3.21 and 8.5 of the R4's TRM:

    I am not sure why you can't execute the clean data cache, but I imagine this may be restricted depending on other device configurations. The references above indicate this is valid for CortexR cores as well.

    Hope this helps,

    Rafael