RPMsg
按照以下步骤,运行AMP镜像,并使用RPMsg组件测试:
- 连接Linux和RTOS的调试串口,串口的波特率均设置为115,200。
- 将编译出来的sdcard_amp.img刷写到SD卡上。
- 上电启动:RT-Thread启动很快,运行到main程序的时候,需要等Linux启动完成后发送IPI中断,Linux端是RPMsg的master,需要配置virtio queue的控制内存和共享内存。
- 启动Linux:启动linux过程中,
virtio_rpmsg_bus
驱动会注册,starfive_rpsmg
驱动也会被注册,注册完成后会发IPI中断给RT-Thread。 RT-Thread接受到IPI中断后,会初始化驱动和创建rpmsg_linux_test
应用进程,这时RT-Thread的finsh shell也能正常使用。 - Linux端运行以下命令能看到
RT-Thread发给Linux的IPI中断:
cat /proc/interrupts
- 运行以下测试程序:
rpmsg_echo
提示: RVspace上提供了已编译的应用程序和源代码。该应用程序向RPMsg的remote端发送一个字符串, RT-Thread接收到后会把收到字符串发回给Linux,测试结果如下面所示:IPI中断情况: