This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Prefetch Abort in Cortex M processors

Hi,

We are currently working with Cortex M4 processor and previously we worked with Cortex R5 processor. As part of our project requirement, we need to detect "prefetch abort" exception and to identify the corresponding address. In Cortex R5, we are taking these information from Instruction Fault Status Register (IFSR) and Instruction Fault Address Register (IFAR).

But in Cortex M4 processor, we understand that "prefetch abort" exception can be captured using BusFault exception (BFSR.IBUSERR). But as per M4 reference manual, we understand that the processor does not update the Bus Fault Address Register (BFAR). Kindly confirm whether our understanding is OK or not. Also please provide the information to get the address corresponding to "prefetch abort".

Regards,

Dinesh

Parents
  • Thank  Joseph for the detailed reply.

    From this, I understand that LR (Link Register) will be pushed in to stack before running the ISR and this LR will provide the actual exception handler return address. But as per "Table 2-17 Exception return behavior", I have a doubt that whether this LR will give the exact address of the instruction which causes the exception. Kindly get back with your comments.

    regards,

    Dinesh

Reply
  • Thank  Joseph for the detailed reply.

    From this, I understand that LR (Link Register) will be pushed in to stack before running the ISR and this LR will provide the actual exception handler return address. But as per "Table 2-17 Exception return behavior", I have a doubt that whether this LR will give the exact address of the instruction which causes the exception. Kindly get back with your comments.

    regards,

    Dinesh

Children