在嵌入式系統領域,隨著技術不斷發展,對于系統性能和功能要求日益提高。核間通信作為提升系統整體效能的關鍵技術,成為了關注焦點。今天,我們和大家分享一個OpenAMP非對稱架構核間通信方案,基于NXP i.MX 8M Plus平臺。AMP(Asymmetric Multi-Processing),即非對稱多處理架構?!胺菍ΨQAMP”雙系統是指多個核心相對獨立運行不同的操作系統或裸機應用程序,如Linux + RTOS/裸機,但需一個主核心來控制整個系統以及其它從核心。每個處理器核心相互隔離,擁有屬于自己的內存,既可各自獨立運行不同的任務,又可多個核心之間進行核間通信。OpenAMP框架是一個提供用于處理非對稱多處理架構(AMP)系統的軟件組件,為開發者提供了便捷高效的開發工具。隨著對嵌入式系統性能需求的持續攀升,非對稱AMP架構憑借其獨特優勢,成為一種新選擇,被廣泛應用于工業領域,如工業PLC、繼電保護裝置、小電流選線設備等場景,為工業自動化和智能化發展提供了強大的技術支持。

圖 1
本案例采用i.MX8M Plus處理器的Cortex-A53核心與Cortex-M7核心,基于RPMsg-lite框架實現高效的核間通信。Cortex-A53通過加載imx_rpmsg_tty驅動,向內核注冊TTY終端設備。這樣一來,Linux應用層只需通過訪問"/dev/ttyRPMSGxx"設備節點,就能實現間接調用RPMsg-lite接口,與Cortex-M7核心建立通信連接。
系統框圖如下圖所示。

圖 2
i.MX 8M Plus憑借其強大的性能和出色的兼容性,廣泛應用多個領域,為行業提供了有力的硬件支撐。

圖 3
為了簡化描述,本文僅摘錄部分方案功能描述與測試結果,若您想獲取更詳細的產品資料,請掃描文末二維碼下載。
開發環境
Windows開發環境:Windows 7 64bit、Windows 10 64bitLinux開發環境:Ubuntu20.04.6 64bitKernel:Linux-5.15.71-rt51SDK開發包:SDK_2_12_0_MIMX8ML8xxxKZ交叉編譯工具鏈:gcc-arm-none-eabi-10.3-2021.10-x86_64-linux硬件平臺:創龍科技TLIMX8MP-EVM工業評估板(基于NXP i.MX 8M Plus)本文案例主要通過RPMsg-lite框架演示核間通信。首先,在Cortex-A53核心發送"Tronlong"字符串到Cortex-M7核心,Cortex-M7核心接收到"Tronlong"字符串后,會將此消息回發到Cortex-A53核心,最后,Cortex-A53核心接收并校驗消息,確保數據傳輸的準確性和完整性。

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

圖 5
參考產品資料進行環境搭建,啟動Cortex-M7核心并加載工程鏡像,Cortex-M7核心啟動后將自動運行程序,加載imx_rpmsg_tty模塊,啟動核間通信等。然后將案例rpmsg_lite_str_echo文件拷貝至評估板文件系統,執行如下命令發送數據至Cortex-M7核心。Target# ./rpmsg_lite_str_echo /dev/ttyRPMSG30Cortex-M7核心接收到數據后,在RS232 UART4調試串口將數據進行打印,同時將數據回發至Cortex-A53。

圖 7
在USB TO UART2調試串口可查看Cortex-M7核心回發的數據。

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

更多i.MX8M Plus工業核心板產品資料可長按二維碼識別下載

亦可添加添加客服人員微信進行咨詢

(即刻添加,馬上咨詢)