AM261x MCU+ SDK: Prefetch Abort Test

| AM261x MCU+ SDK 26.00.00 |

Prefetch Abort Test

# Introduction

This example shows the how custom data abort handler be implemented in the user application. Provides information about the prefetch abort exception

1. Contents of `IFSR`(Instructiton Fault Status Register) register
   1. `status`: indicates the type of fault generated
   2. `sd`: distinguishes between an AXI Decode or Slave error on an external abort. This bit is only valid for external aborts. For all other aborts types of abort, this bit is set to zero
2. Contents of `AIFSR`(Auxillary Instruction Fault Status Register) register
   1. `index`: returns the index value for the access giving the error
   2. `side_ext`: value returned in this field indicates the source of the error
   3. `recoverable_error`: value returned in this field indicates if the error is recoverable (0=Unrecoverable error, 1=Recoverable Error)
   4. `cacheway`: value returned in this field indicates the cache way or ways in which the error occurred
3. `lr`: Link Register when the exception occurred.
4. `spsr`: Saved Program status registers to get the program status when the exception occurred.

Note
  Please refer to R5F TRM for more information

# Supported Combinations

# Steps to Run the Example

Note
  This is a `system` or multi-core project, so refer to system project build instructions for CCS project or makefiles when building the example.

- When using CCS projects to build, import the system CCS project and build it using the CCS project menu (see Using SDK with CCS Projects). This will build all the dependant CPU projects as well
- When using makefiles to build, build the system makefile using make command (see Using SDK with Makefiles). This will build all the dependant CPU makefiles as well.
- This program cannot be loaded and run from CCS since it expects some sections of code/data to reside in flash
- To flash this program use the sample config file located at below.
- This config file has the filenames listed assuming application is built using makefile's and release profile. If you are using CCS projects or debug profile, edit this file to point to appropriate files.
- Now flash to EVM using the steps mention here, only use the config file mentioned above, Flash a Hello World example
- This is a multi-core example. Above steps will flash applications for all the CPUs.

# Sample Output

Note
  this application do not gives any output. This goes inside the `HwiP_user_prefetch_abort_handler_c` function and loops forever there. User needs to pause the applcaition and see the values.