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.

AM6422: PRU_ICSS : Issue with RPMsg notify

Part Number: AM6422


Tool/software:

Hello,

I am using PRU-Software-Support-Package version 6.4.0 https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/

From which I had successfully able to run the example projects PRU_RPMsg_Echo_Interrupt0 (https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am64x/PRU_RPMsg_Echo_Interrupt0) and Ultrafast_Broadside (https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am243x/Ultrafast_broadside) individually.

However I want to merge both the examples RPMsg in C and XFR2VBUS in assembly to initiate the memory read from MSRAM using XFR2VBUS whenever I receive notification over RPMsg..

I had tried this by taking help from the labs section of PSSP with C and assembly code refrence (https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/labs/Getting_Started_Labs/c_and_assembly/solution/am64x), but when I run the code It is continuously giving the error message like:

[ 134.481154] virtio_rpmsg_bus virtio5: channel rpmsg-pru:ffffffff:1e already exist
[ 134.488676] virtio_rpmsg_bus virtio5: rpmsg_create_channel failed

Please suggest an approach to solve the above errors or could you please suggest any example code having both the features together for refrence.

Thanks,

Pratibha

  • Hello Pratibha,

    Are you seeing that error when you only load one PRU core? Or do you only see the error when you load multiple PRU cores?

    You may want to check your Makefile and ensure that you are not setting the same DCHAN_PORT / PORT_NUM for multiple PRU cores. You'll notice in our example PRU_RPMsg project that we give each core a different RPMsg port number:
    30 - PRU0 ICSSG0
    31 - PRU1 ICSSG0
    34 - PRU0 ICSSG1
    35 - PRU1 ICSSG1
    etc.

    Regards,

    Nick

  • Hello Nick,

    Thank you for your response.

    Currently I am using only one PRU core. And all other PRU cores are offline.

    And I had checked the Makefile, it is correctly setting the PORT_NUM.

    Thanks,

    Pratibha

  • Hello Pratibha,

    I have never seen an issue with a single PRU core trying to set up multiple RPMsg channels with the same channel number.

    I cannot do a full code review, but feel free to post a portion of your modified code if you want me to take a look at a couple lines.

    Regards,

    Nick

  • Hello Nick,

    Thank you for your response.

    I've attached images of the modified code that I’m working with:

    Please let me know if anything can be improved.

    Looking forward for your feedback.

    Thanks,

    Pratibha