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.

Does the Speculative Fetch Address Range for ATCM depend upon MPU

Hello Support,

Cortex-R4 performs Speculative Fetch on ATCM.
What is the address range for different devices because different parts have different Available Flash Address Range?

Does the Address Range for Speculative Fetch changes when MPU is programmed to limit the available ATCM Address Space from the available Flash Address Size?


Thank you.
Regards
Pashan

  • Hello Pashan,

    MPU settings do not affect the generation of speculative addresses.  An MPU setting can however result in a fetch being marked as having a fault, and the fault will be processed if the CPU confirms the speculative access.  A discarded access should not generate an MPU fault, in order to avoid generating spurious faults.

    Regards,

    Karl

  • Hello Karl,

    "A discarded access should not generate an MPU fault, in order to avoid generating spurious faults."

    For the above condition as mentioned by you, when MPU is enabled with some LIMITED BOUNDARY ADDRESS RANGE, does ESM Error Group 3 will occur for MPU Discarded Speculative Access even though no MPU ABORT Fault occurs.
    Is that right?  Please confirm.

    Thank you.
    Regards
    Pashan

  • No fault occurs on any diagnostic inside the core on a discarded speculative access, so long as the error follows the core's error handler (i.e. a "bus error" response on a read or write").  If a diagnostic external to the core is activated, and the fault is not indicated via the core's transaction error response (such as certain diagnostics inside the flash wrapper), then an ESM error could be generated on a discarded speculative access.

    Regards,

    Karl