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.

AM5728: Mapping multiple PRU system events

Part Number: AM5728

Hi, 

If I map multiple PRU system events to a single channel and then that channel to host 0, how would I differentiate which system event caused the interrupt to the PRU's?

Thank you,

Colin

  • Hello Colin,

    Once bit 30 of R31 indicates that there is a system event pending on host 0, you would want to check the INTC registers to see which event it is.

    These registers in the INTC may be helpful, take a look at them in the Technical Reference Manual:

    System Interrupt Status Enabled Clear Register0

    System Interrupt Status Enabled Clear Register1

    System Interrupt Status Raw Set Register0

    System Interrupt Status Raw Set Register1

    Global Prioritized Index Register

    Host Interrupt Prioritized Index Register_j (where j=0 to 9)

    The Host Interrupt Nesting Level Register_j (where j=0 to 9)

    Note that if you use RemoteProc to load the PRUs, you will want to place your interrupt settings in the resource table. If you set interrupt settings in your firmware, the firmware can overwrite the previous settings as in this post. See this post for an example of modifying the resource table.

    Regards, 

    Nick