本文主要給大家分享的是基于創(chuàng)龍科技TLT113-EVM評(píng)估板(基于全志T113-i)的ARM + RISC-V核間通信開發(fā)案例,適用開發(fā)環(huán)境如下。 Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit 虛擬機(jī):VMware15.5.5 Linux開發(fā)環(huán)境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2018.07 Kernel:Linux-5.4.61、Linux-RT-5.4.61 LinuxSDK:T113_Tina5.0-V1.0(Linux) OpenAMP簡(jiǎn)介 AMP(Asymmetric Multi-Processing),即非對(duì)稱多處理架構(gòu)!胺菍(duì)稱AMP”雙系統(tǒng)是指多個(gè)核心相對(duì)獨(dú)立運(yùn)行不同的操作系統(tǒng)或裸機(jī)應(yīng)用程序,如Linux + RTOS/裸機(jī),但需一個(gè)主核心來控制整個(gè)系統(tǒng)以及其它從核心。每個(gè)處理器核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨(dú)立運(yùn)行不同的任務(wù),又可多個(gè)核心之間進(jìn)行核間通信。OpenAMP框架是一個(gè)提供用于處理非對(duì)稱多處理架構(gòu)(AMP)系統(tǒng)的軟件組件。 隨著對(duì)嵌入式系統(tǒng)要求的不斷提高,非對(duì)稱AMP架構(gòu)如今已成為一種新選擇,主要應(yīng)用于工業(yè)領(lǐng)域,如工業(yè)PLC、繼電保護(hù)裝置、小電流選線設(shè)備等。 圖 1 RPMsg簡(jiǎn)介 RPMsg(Remote Processor Messaging),是一種專為異構(gòu)多核處理系統(tǒng)設(shè)計(jì)的通信協(xié)議。它允許不同處理器核心之間通過共享內(nèi)存高效地交換信息,為主核心和從核心之間提供了一種標(biāo)準(zhǔn)化的消息傳遞機(jī)制,使得這些不同架構(gòu)的核心能夠協(xié)同工作,最大限度地發(fā)揮它們的性能。 RPMsg的主要特點(diǎn)包括: (1)基于VirtIO管理共享內(nèi)存,實(shí)現(xiàn)了高效的數(shù)據(jù)傳輸; (2)避免額外的拷貝開銷,優(yōu)化了內(nèi)存使用; (3)配備同步與互斥機(jī)制,確保數(shù)據(jù)交換的高效與安全; 圖 2 T113-i國(guó)產(chǎn)平臺(tái)優(yōu)勢(shì) 全志T113-i處理器可運(yùn)行Linux操作系統(tǒng)、Qt炫酷圖形界面,并可支持1080P高清視頻編解碼、4G大數(shù)據(jù)傳輸、2Gb超大存儲(chǔ)空間、LCD/LVDS/MIPI三種顯示、原生千兆網(wǎng)/雙CAN,是單片機(jī)升級(jí)的優(yōu)選平臺(tái)。同時(shí),創(chuàng)龍科技T113-i工業(yè)核心板已實(shí)現(xiàn)國(guó)產(chǎn)化率100%,并提供“賽寶實(shí)驗(yàn)室”國(guó)產(chǎn)化率證明報(bào)告,讓您的產(chǎn)品更有特色! 另外,創(chuàng)龍科技全志T113-i雙核ARM Cortex-A7@1.2GHz + RISC-V C906@1008MHz全國(guó)產(chǎn)工業(yè)核心板,含稅僅79元起!在短短一年多時(shí)間里,已有近2000家企業(yè)選用創(chuàng)龍科技T113-i工業(yè)核心板用于終端產(chǎn)品開發(fā),歡迎廣大客戶咨詢! 圖 3 T113-i典型應(yīng)用領(lǐng)域 圖 4 T113-i核間通信開發(fā)案例演示 為了簡(jiǎn)化描述,本文僅摘錄部分方案功能描述與測(cè)試結(jié)果,詳細(xì)產(chǎn)品資料請(qǐng)通過公眾號(hào)下載。 案例功能 本期案例主要是通過使用RPMsg框架,來實(shí)現(xiàn)異構(gòu)的處理器之間進(jìn)行相互通信。ARM核心運(yùn)行Linux系統(tǒng)與rpmsg_echo應(yīng)用程序,RISC-V核心運(yùn)行RISC-V程序,實(shí)現(xiàn)ARM端的rpmsg數(shù)據(jù)的接收與發(fā)送功能。 案例測(cè)試 首先,我們使用Type-C線連接PC機(jī)和評(píng)估板的USB TO UART0串口,使用RS232交叉串口母母線、USB轉(zhuǎn)RS232公頭串口線,將評(píng)估板的RS232 UART2串口連接至PC機(jī)的USB接口,如下圖所示。 圖 5 可以看到,當(dāng)我們啟動(dòng)RISC-V核心并加載工程鏡像后,RISC-V核心啟動(dòng)后會(huì)自動(dòng)運(yùn)行程序,RS232 UART2串口終端便打印顯示出如下圖內(nèi)容。圖 6 然后,我們執(zhí)行如下命令運(yùn)行ARM端應(yīng)用程序,發(fā)送5次rpmsg數(shù)據(jù)包至RISC-V核心,當(dāng)RISC-V核心每收到1次rpmsg數(shù)據(jù)包,就會(huì)將數(shù)據(jù)包發(fā)送回ARM端。Target# ./rpmsg_echo -r c906_rproc\@0 -m tronlong -n 5 圖 7 當(dāng)ARM端程序運(yùn)行時(shí),RS232 UART2串口終端將會(huì)打印如下類似信息。圖 8 到這里,ARM + RISC-V核間通信開發(fā)案例分享就結(jié)束了,想要查看更多全志T113-i相關(guān)的案例演示,歡迎各位工程師通過公眾號(hào)(Tronlong創(chuàng)龍科技)下載,快來試試吧! |