新聞中心

EEPW首頁(yè) > 新品快遞 > 異構(gòu)R5實(shí)時(shí)系統(tǒng)開(kāi)發(fā)筆記-米爾基于國(guó)產(chǎn)芯馳D9360商顯板

異構(gòu)R5實(shí)時(shí)系統(tǒng)開(kāi)發(fā)筆記-米爾基于國(guó)產(chǎn)芯馳D9360商顯板

作者: 時(shí)間:2024-06-21 來(lái)源:EEPW 收藏


本文引用地址:http://www.butianyuan.cn/article/202406/460175.htm

本文將介紹基于米爾電子MYD-YD9360開(kāi)發(fā)方案測(cè)試。

本處參考<開(kāi)發(fā)筆記>對(duì)D9360中的協(xié)處理器進(jìn)行開(kāi)發(fā)測(cè)試

開(kāi)發(fā)之前請(qǐng)確認(rèn)編譯環(huán)境正??梢哉?duì)鏡像進(jìn)行編譯

具體參考之前編譯Ubuntu系統(tǒng)文章,自行編譯buildroot系統(tǒng)測(cè)試

1.1 打開(kāi)RTOS驅(qū)動(dòng)

freeRTOS的源碼放在ssdk包下面,我們可以通過(guò)圖形化界面啟動(dòng)RTOS系統(tǒng)。D9的ssdk圖形化界面是通過(guò)menuconfig.sh腳本配置打開(kāi),此腳本在ssdk/tools下。以D9360為例,如下:

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

1718951977866917.png

1718951993124329.png

1.2 添加RTOS例程驅(qū)動(dòng)

RTOS系統(tǒng)例程在examples/kunlun/drivers

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

1718952019676576.png

1718952057191096.png

新建一個(gè)abc目錄

并配置Kconfig和rules.mk文件

1718952078826424.png

返回driver目錄下 配置Kconfig添加ABC去東門(mén)模塊初始狀態(tài)和圖形界面類(lèi)型

ABC驅(qū)動(dòng)模塊的初始狀態(tài)和圖形界面類(lèi)型

1718952108329087.png

在rules.mk文件下,添加如下內(nèi)容

1718952127261442.png

MODULES += $(LOCAL_DIR)/abc: 如果配置選項(xiàng) CONFIG_ABC_TEST 為 "y",則會(huì)將 $(LOCAL_DIR)/abc 添加到變量 MODULES 中。這意味著當(dāng)啟用了 "ABC Test" 功能時(shí),會(huì)將 $(LOCAL_DIR)/abc 模塊添加到模塊列表中。

R5核數(shù)據(jù)發(fā)送到A55核中

將rpmsg目錄下的rpmsg_test.c文件復(fù)制到abc.c文件中,該驅(qū)動(dòng)描述如何通過(guò)RPMSG協(xié)議進(jìn)行核間通信。我們可以在此程序基礎(chǔ)上加入自己的協(xié)議,以下是R5核發(fā)送“Hello, RPMSG!”字符串到A55核,并打印出接收到的信息的函數(shù)。

1.3、1.4

----------------具體代碼參加米爾公眾號(hào)------------------------------------

保存所有代碼

編譯系統(tǒng) 燒錄

1718952153673066.png

MODULES += $(LOCAL_DIR)/abc: 如果配置選項(xiàng) CONFIG_ABC_TEST 為 "y",則會(huì)將 $(LOCAL_DIR)/abc 添加到變量 MODULES 中。這意味著當(dāng)啟用了 "ABC Test" 功能時(shí),會(huì)將 $(LOCAL_DIR)/abc 模塊添加到模塊列表中。

R5核數(shù)據(jù)發(fā)送到A55核中

將rpmsg目錄下的rpmsg_test.c文件復(fù)制到abc.c文件中,該驅(qū)動(dòng)描述如何通過(guò)RPMSG協(xié)議進(jìn)行核間通信。我們可以在此程序基礎(chǔ)上加入自己的協(xié)議,以下是R5核發(fā)送“Hello, RPMSG!”字符串到A55核,并打印出接收到的信息的函數(shù)。

1.5結(jié)果顯示

在R5核調(diào)用rpmsg_test例程,向A55核發(fā)送信息

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核調(diào)用echo_test例程,向R5發(fā)送信息,打印如下:

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 !



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉