RPMsg not working on PRU1

55 views
Skip to first unread message

Jacek Radzikowski

unread,
Feb 13, 2019, 3:02:25 AM2/13/19
to beagleboard
Hello,

I have problems with receiving remoteproc messages on PRU1. The code works fine when configured and executed on PRU0, but PRU1 never receives any interrupts (event numbers set for each PRU accordingly).
I modified examples PRU_RPMsg_Echo_Interrupt0 and PRU_RPMsg_Echo_Interrupt1 to flip I/O pins with LEDs whenever interrupt comes.
On PRU0 example works as expected. Each time a message comes, the LED switches state. However, example for PRU1 behaves like it never receives any interrupts from ARM host. In my application I'm using interrupts to signal PRU1 from PRU0, and hey work fine.
Has anybody been able to resolve this issue?

I'm running kernel 4.14.94-ti-r93 on Debian Image 2019-01-27, with PRU tools installed by ti-pru-cgt-installer  2.1.5-0rcnee1~stretch+20180514

Regards,
Jacek.


--
Given a choice between two theories, take the one which is funnier

din...@gmail.com

unread,
Feb 13, 2019, 1:30:09 PM2/13/19
to BeagleBoard
Did you change the interrupt numbers?

/* The PRU-ICSS system events used for RPMsg are defined in the Linux device tre
e
 * PRU0 uses system event 16 (To ARM) and 17 (From ARM)
 * PRU1 uses system event 18 (To ARM) and 19 (From ARM)
 */

#define TO_ARM_HOST                     18      
#define FROM_ARM_HOST                   19



Regards,
Dimitar

Jacek Radzikowski

unread,
Feb 13, 2019, 2:06:48 PM2/13/19
to beagleboard
I did. I even ran examples provided by TI, and the one for PRU1 does not work.

Jacek.


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/9ade0464-7903-4a00-9885-4649b243c1b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

din...@gmail.com

unread,
Feb 14, 2019, 3:06:53 PM2/14/19
to BeagleBoard
Did you also update the interrupt map:

struct ch_map pru_intc_map[] = { {18, 3},
 
{19, 1},
};



Did you check that your PRU1 core is actually running and can drive the LED? For example, toggle the LED without rpmsg with a simple loop and delay.

Regards,
Dimitar
Reply all
Reply to author
Forward
0 new messages