厦门盈亦自动化科技有限公司
主营产品: 可编程序控制器、PLC模块、CPU处理器、机架电源端子,自动化
异构R5实时系统开发笔记-米尔基于国产芯驰D9360商显板
发布时间:2024-11-28

本文将介绍基于米尔电子MYD-YD9360商显板的R5协处理器开发方案测试。

本处参考

开发之前请确认编译环境正常可以正常对镜像进行编译

具体参考之前编译Ubuntu系统文章,自行编译buildroot系统测试

1.1打开RTOS驱动

freeRTOS的源码放在ssdk包下面,我们可以通过图形化界面启动RTOS系统。D9的ssdk图形化界面是通过menuconfig.sh脚本配置打开,此脚本在ssdk/tools下。以D9360为例,如下:

ddj@ubuntu:~/YD9X/MYD-YD9X-SDK_V1.0/source/ssdk$ pwd/home/ddj/YD9X/MYD-YD9X-SDK_V1.0/source/ssdk

~/MYD-JD9X-ubuntu/MYD-JD9X-SDK_V1.0/source/ssdk$ ./tools/menuconfig.sh -b d9360_ref -p ref -c secure

1.2 添加RTOS例程驱动

RTOS系统例程在examples/kunlun/drivers

ddj@ubuntu:~/YD9X/MYD-YD9X-SDK_V1.0/source/ssdk/examples/kunlun/drivers$ ls

新建一个abc目录

并配置Kconfig和rules.mk文件

返回driver目录下 配置Kconfig添加ABC去东门模块初始状态和图形界面类型

ABC驱动模块的初始状态和图形界面类型

在rules.mk文件下,添加如下内容

MODULES += $(LOCAL_DIR)/abc: 如果配置选项 CONFIG_ABC_TEST 为 "y",则会将 $(LOCAL_DIR)/abc 添加到变量 MODULES 中。这意味着当启用了 "ABC Test" 功能时,会将 $(LOCAL_DIR)/abc 模块添加到模块列表中。

R5核数据发送到A55核中

将rpmsg目录下的rpmsg_test.c文件复制到abc.c文件中,该驱动描述如何通过RPMSG协议进行核间通信。我们可以在此程序基础上加入自己的协议,以下是R5核发送“Hello, RPMSG!”字符串到A55核,并打印出接收到的信息的函数。

1.3、1.4----------------具体代码参加米尔公众号------------------------------------

保存所有代码

编译系统 烧录

MODULES += $(LOCAL_DIR)/abc: 如果配置选项 CONFIG_ABC_TEST 为 "y",则会将 $(LOCAL_DIR)/abc 添加到变量 MODULES 中。这意味着当启用了 "ABC Test" 功能时,会将 $(LOCAL_DIR)/abc 模块添加到模块列表中。

R5核数据发送到A55核中

将rpmsg目录下的rpmsg_test.c文件复制到abc.c文件中,该驱动描述如何通过RPMSG协议进行核间通信。我们可以在此程序基础上加入自己的协议,以下是R5核发送“Hello, RPMSG!”字符串到A55核,并打印出接收到的信息的函数。

1.5结果显示

在R5核调用rpmsg_test例程,向A55核发送信息

R5界面>rpmsg_test send 0 3 1>Sent: 123456789Received: 123456789

>rpmsg_test send 1 3 1>Sent: 123456789Received: 123456789

A55界面root@myd-jd9x:~# [   22.223170] virtio_rpmsg_bus virtio0: virtio send susses[   34.943644] sd,rpmsg-ipcc soc:ipcc@1: ipcc send susses

在A55核调用echo_test例程,向R5发送信息,打印如下:

A55界面root@myd-jd9x:~# echo_test -d virtio0.rpmsg-echo.-1.30 -c 1

Echo test startupdate rpmsg-mtu=496 from kernelsend string:Hello,RPMsg!receive string:Hello,RPMsg!

R5界面>Sending data (length 20): H e l l o , R P M s g !


展开全文
拨打电话 微信咨询 发送询价