Issue while creating multiple task with rpmsg task in M core - IMX8ULPEVK9

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue while creating multiple task with rpmsg task in M core - IMX8ULPEVK9

175 Views
dhruvinrajpura
Contributor II

I am using imx8ulp-evk9 and in the M core I had taken rpmsg sample code as a base code and on that I am building my app

But when I create more than 3 task rpmsg is giving me error at below place

result = rpmsg_queue_recv_nocopy(rpmsgConfig->my_rpmsg, my_queue, (uint32_t *)&rpmsgConfig->remote_addr, (char **)&rx_buf, &len, RL_BLOCK);
        PRINTF("result : %d, len : %d\r\n", result, len);
        if (result != 0)
        {
            assert(false);
        }

 

I am getting assert error and garbage value in result, but when I am not starting rpmsg task I can create more than 10 task,

Can anyone explain what I can do to resolve this assert error when creating multiple tasks?

0 Kudos
Reply
2 Replies

141 Views
dhruvinrajpura
Contributor II

I am attching logs of M core I am getting with value of result,

0 Kudos
Reply

152 Views
Alejandro_Salas
NXP TechSupport
NXP TechSupport

Hello @dhruvinrajpura 

I hope you are doing very well.

 

Are you able to identify the value of "result" variable when it happens?

depends on the obtained value we can know more about the issue.

You can take a look to the rpmsg_queue_recv_nocopy function and try to debug why is not returning 0.

Also, you can try to increase the buffer size, please refer to this post to change the buffer size for RPMSG on Linux and the SDK.

 

I hope this can helps to you.

 

Best regards,

Salas.

0 Kudos
Reply