關(guān)于創(chuàng)龍
About Us聯(lián)系我們
Contact Us 公司總機(jī):020-8998-6280
技術(shù)熱線:020-3893-9734
技術(shù)郵箱:support@tronlong.com
銷售郵箱:sales@tronlong.com
分享!基于NXP i.MX 8M Plus平臺的OpenAMP核間通信方案
2025/02/10
在嵌入式系統(tǒng)領(lǐng)域,隨著技術(shù)不斷發(fā)展,對于系統(tǒng)性能和功能要求日益提高。核間通信作為提升系統(tǒng)整體效能的關(guān)鍵技術(shù),成為了關(guān)注焦點(diǎn)。今天,我們和大家分享一個OpenAMP非對稱架構(gòu)核間通信方案,基于NXP i.MX 8M Plus平臺。AMP(Asymmetric Multi-Processing),即非對稱多處理架構(gòu)。“非對稱AMP”雙系統(tǒng)是指多個核心相對獨(dú)立運(yùn)行不同的操作系統(tǒng)或裸機(jī)應(yīng)用程序,如Linux + RTOS/裸機(jī),但需一個主核心來控制整個系統(tǒng)以及其它從核心。每個處理器核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨(dú)立運(yùn)行不同的任務(wù),又可多個核心之間進(jìn)行核間通信。OpenAMP框架是一個提供用于處理非對稱多處理架構(gòu)(AMP)系統(tǒng)的軟件組件,為開發(fā)者提供了便捷高效的開發(fā)工具。隨著對嵌入式系統(tǒng)性能需求的持續(xù)攀升,非對稱AMP架構(gòu)憑借其獨(dú)特優(yōu)勢,成為一種新選擇,被廣泛應(yīng)用于工業(yè)領(lǐng)域,如工業(yè)PLC、繼電保護(hù)裝置、小電流選線設(shè)備等場景,為工業(yè)自動化和智能化發(fā)展提供了強(qiáng)大的技術(shù)支持。

圖 1
i.MX 8M Plus的OpenAMP開發(fā)方案
本案例采用i.MX8M Plus處理器的Cortex-A53核心與Cortex-M7核心,基于RPMsg-lite框架實現(xiàn)高效的核間通信。Cortex-A53通過加載imx_rpmsg_tty驅(qū)動,向內(nèi)核注冊TTY終端設(shè)備。這樣一來,Linux應(yīng)用層只需通過訪問"/dev/ttyRPMSGxx"設(shè)備節(jié)點(diǎn),就能實現(xiàn)間接調(diào)用RPMsg-lite接口,與Cortex-M7核心建立通信連接。
系統(tǒng)框圖如下圖所示。

圖 2
i.MX 8M Plus的典型應(yīng)用領(lǐng)域
i.MX 8M Plus憑借其強(qiáng)大的性能和出色的兼容性,廣泛應(yīng)用多個領(lǐng)域,為行業(yè)提供了有力的硬件支撐。

圖 3
為了簡化描述,本文僅摘錄部分方案功能描述與測試結(jié)果,若您想獲取更詳細(xì)的產(chǎn)品資料,請掃描文末二維碼下載。
開發(fā)環(huán)境
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bitLinux開發(fā)環(huán)境:Ubuntu20.04.6 64bitKernel:Linux-5.15.71-rt51SDK開發(fā)包:SDK_2_12_0_MIMX8ML8xxxKZ交叉編譯工具鏈:gcc-arm-none-eabi-10.3-2021.10-x86_64-linux本文案例主要通過RPMsg-lite框架演示核間通信。首先,在Cortex-A53核心發(fā)送"Tronlong"字符串到Cortex-M7核心,Cortex-M7核心接收到"Tronlong"字符串后,會將此消息回發(fā)到Cortex-A53核心,最后,Cortex-A53核心接收并校驗消息,確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和完整性。

圖 4
請使用USB串口線將評估板的USB TO UART2串口連接至PC機(jī)的USB接口,使用RS232交叉串口母母線、USB轉(zhuǎn)RS232公頭串口線將評估板的RS232 UART4串口連接至PC機(jī)的USB接口,如下圖所示。其中USB TO UART2作為Cortex-A53核心調(diào)試串口,RS232 UART4作為Cortex-M7核心調(diào)試串口。

圖 5
參考產(chǎn)品資料進(jìn)行環(huán)境搭建,啟動Cortex-M7核心并加載工程鏡像,Cortex-M7核心啟動后將自動運(yùn)行程序,加載imx_rpmsg_tty模塊,啟動核間通信等。然后將案例rpmsg_lite_str_echo文件拷貝至評估板文件系統(tǒng),執(zhí)行如下命令發(fā)送數(shù)據(jù)至Cortex-M7核心。Target# ./rpmsg_lite_str_echo /dev/ttyRPMSG30Cortex-M7核心接收到數(shù)據(jù)后,在RS232 UART4調(diào)試串口將數(shù)據(jù)進(jìn)行打印,同時將數(shù)據(jù)回發(fā)至Cortex-A53。

圖 7
在USB TO UART2調(diào)試串口可查看Cortex-M7核心回發(fā)的數(shù)據(jù)。

圖 8
如果您還想查看更多i.MX8M Plus相關(guān)的案例演示,請掃描下方產(chǎn)品二維碼下載,親自上手體驗吧!

更多i.MX8M Plus工業(yè)核心板產(chǎn)品資料可長按二維碼識別下載

亦可添加添加客服人員微信進(jìn)行咨詢

(即刻添加,馬上咨詢)