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.

AM623: true interrupt support on PRUSS?

Part Number: AM623

Tool/software:

Team,

I was looking at the below ressources:
    E2E post: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1468291/am625-checking-pru-interrupts-through-r31/5638951

    Linux SDK 11.00 doc: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/common/PRU-ICSS/INTC_Configuration.html

and it seems that on the PRUSS (AM623) the PRU CPUs have to use polling on R31 in order to react to event.

-Are there some possible workaround to implement a true interrupt driven mechanism for the PRU CPUs on PRUSS?

-For PRU-ICSSG (AM644x/AM243x) it seems that a task manager module was introduced and enables a kind of interrupt driven mechanism on PRU/RTU.

Thanks in advance,
Anthony

  • Hello Anthony,

    No code preemption on existing PRU-ICSS & PRUSS devices

    There is no task manager on existing PRU-ICSS and PRUSS devices (AM335x, AM437x, AM57x, AM62x, AM263x).

    PRU cores are designed to be 100% deterministic - the fact that you can control exactly what assembly instruction is running on the PRU cores at every single clock cycle is what allows us to "bitbang" such complicated and fast interface protocols that cannot be emulated by "regular" processor cores. If something was allowed to preempt currently running code with an interrupt, that could impact the very tight timings that PRU cores are often asked to operate within.

    For the PRU_ICSSG on AM64x & AM243x, we added the task manager because there were parts of programming gigabit speed Ethernet that required preemption - but even on those processors, programmers need to be very careful that they are only preempting code that is not running timing critical tasks.

    We are evaluating adding task manager to future processors with PRU-ICSS and PRUSS, but I cannot make any promises at this point in time.

    Usecase? 

    Is there a specific problem you are trying to solve on AM62x PRU cores?

    Regards,

    Nick