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?
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.