Greetings,
in the system I develop I shall have a task resposible for fetching some amount of data from Flash to RAM. I should mention that the code will be executed from Flash with the instruction cache (I-Cache) enabled. As far I understand (after reading nRF52840 Product spec. 1.0), to avoid unnecessary bus stalls, it would preferrable, that when this task is executing, instructions should be fetched via ICODE bus while the actual data would be accessed by the CPU via DCODE bus. Please correct if I'm wrong about this idea but in any case, I would like to know what determines whether the CPU uses ICODE or DCODE for Flash readback. Do I assume correctly that ICODE is used for fetching from I-Cache while DCODE is utilized for any other Flash read operation?
By the way, if someone would be so kind to explain how I-Cache is populated, specifically which of the buses (ICODE/DCODE) is used to fetch the instruction from Flash in case of a cache miss.
Best regards,
Boris