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.

The difference between ESM interrupt and data interrupt



What is the difference between ESM interrupt and data interrupt, as shown in the figure below, both interrupt processing flows have fault handling for different groups. Under what circumstances will the _excpt_vec_abort_data interrupt be triggered, and under what circumstances will sl_esm_high_intr_handler, and sl_esm_high_intr_handler be triggered?

  • Hi Xiaohong,

    There are seven different types of exception which can be recognized by ARM processors:

    1. Reset

    2. Undefined instruction

    3. SVC

    4. Prefetch abort

    5. Data abort

    6. IRQ

    7. FIQ

    The _excpt_vec_abort_data() is a hnader to handle the exception of data abort (#5 in the list).

    The ESM module collects and reports the various error conditions. Error response is then generated based on the category of the error. Possible error responses include a low priority interrupt, high priority interrupt, and an external pin action. 

    For ESM group1, the interrupt priority is configurable, for example ESM 1:17:

    If it is mapped to low level, any MibSPI1 parity error will be handled by sl_esm_low_intr_handler().

    The ESM LOW interrupt can be configured to either IRQ or FIQ:

  • Thanks for your prompt reply。