CM33 rpmsg 如何装载发送数据?

在 rpmsg_demo.c  源代码中,如何装载 CM33 端的有用数据发回 CA55 处理器?demo 是把收到的数据发回主处理器。

static int rpmsg_endpoint_cb0 (struct rpmsg_endpoint * cb_rp_ept, void * data, size_t len, uint32_t src, void * priv)

{

/* service 0 */

(void) priv;

(void) src;

/* On reception of a shutdown we signal the application to terminate */

if ((*(unsigned int *) data) == SHUTDOWN_MSG)

{

evt_svc_unbind[0] = 1;

return RPMSG_SUCCESS;

}

/* Send data back to master */

if (rpmsg_send(cb_rp_ept, data, (int) len) < 0)

{

LPERROR("rpmsg_send failed\n");

return -1;

}

return RPMSG_SUCCESS;

}

static int rpmsg_endpoint_cb1 (struct rpmsg_endpoint * cb_rp_ept, void * data, size_t len, uint32_t src, void * priv)

{

/* service 1 */

(void) priv;

(void) src;

/* On reception of a shutdown we signal the application to terminate */

if ((*(unsigned int *) data) == SHUTDOWN_MSG)

{

evt_svc_unbind[1] = 1;

return RPMSG_SUCCESS;

}

/* Send data back to master */

if (rpmsg_send(cb_rp_ept, data, (int) len) < 0)

{

LPERROR("rpmsg_send failed\n");

return -1;

}

return RPMSG_SUCCESS;

}