在嵌入式系統(tǒng)領域,隨著技術不斷發(fā)展,對于系統(tǒng)性能和功能要求日益提高。核間通信作為提升系統(tǒng)整體效能的關鍵技術,成為了關注焦點。今天,我們和大家分享一個OpenAMP非對稱架構核間通信方案,基于NXP i.MX 8M Plus平臺。
OpenAMP架構
AMP(Asymmetric Multi-Processing),即非對稱多處理架構。“非對稱AMP”雙系統(tǒng)是指多個核心相對獨立運行不同的操作系統(tǒng)或裸機應用程序,如Linux + RTOS/裸機,但需一個主核心來控制整個系統(tǒng)以及其它從核心。每個處理器核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨立運行不同的任務,又可多個核心之間進行核間通信。OpenAMP框架是一個提供用于處理非對稱多處理架構(AMP)系統(tǒng)的軟件組件,為開發(fā)者提供了便捷高效的開發(fā)工具。
隨著對嵌入式系統(tǒng)性能需求的持續(xù)攀升,非對稱AMP架構憑借其獨特優(yōu)勢,成為一種新選擇,被廣泛應用于工業(yè)領域,如工業(yè)PLC、繼電保護裝置、小電流選線設備等場景,為工業(yè)自動化和智能化發(fā)展提供了強大的技術支持。
圖 1
i.MX 8M Plus的OpenAMP開發(fā)方案
本案例采用i.MX8M Plus處理器的Cortex-A53核心與Cortex-M7核心,基于RPMsg-lite框架實現(xiàn)高效的核間通信。
Cortex-A53通過加載imx_rpmsg_tty驅動,向內(nèi)核注冊TTY終端設備。這樣一來,Linux應用層只需通過訪問"/dev/ttyRPMSGxx"設備節(jié)點,就能實現(xiàn)間接調(diào)用RPMsg-lite接口,與Cortex-M7核心建立通信連接。
系統(tǒng)框圖如下圖所示。
圖 2
i.MX 8M Plus的典型應用領域
i.MX 8M Plus憑借其強大的性能和出色的兼容性,廣泛應用多個領域,為行業(yè)提供了有力的硬件支撐。
圖 3
OpenAMP開發(fā)案例演示
為了簡化描述,本文僅摘錄部分方案功能描述與測試結果。
開發(fā)環(huán)境
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
虛擬機:VMware15.5.5
Linux開發(fā)環(huán)境:Ubuntu20.04.6 64bit
U-Boot:U-Boot-2022.04
Kernel:Linux-5.15.71-rt51
SDK開發(fā)包:SDK_2_12_0_MIMX8ML8xxxKZ
交叉編譯工具鏈:gcc-arm-none-eabi-10.3-2021.10-x86_64-linux
硬件平臺:創(chuàng)龍科技TLIMX8MP-EVM工業(yè)評估板(基于NXP i.MX 8M Plus)
案例功能
本文案例主要通過RPMsg-lite框架演示核間通信。首先,在Cortex-A53核心發(fā)送"Tronlong"字符串到Cortex-M7核心,Cortex-M7核心接收到"Tronlong"字符串后,會將此消息回發(fā)到Cortex-A53核心,最后,Cortex-A53核心接收并校驗消息,確保數(shù)據(jù)傳輸?shù)臏蚀_性和完整性。
程序原理流程圖如下所示:
圖 4
案例測試
請使用USB串口線將評估板的USB TO UART2串口連接至PC機的USB接口,使用RS232交叉串口母母線、USB轉RS232公頭串口線將評估板的RS232 UART4串口連接至PC機的USB接口,如下圖所示。
其中USB TO UART2作為Cortex-A53核心調(diào)試串口,RS232 UART4作為Cortex-M7核心調(diào)試串口。
圖 5
參考產(chǎn)品資料進行環(huán)境搭建,啟動Cortex-M7核心并加載工程鏡像,Cortex-M7核心啟動后將自動運行程序,加載imx_rpmsg_tty模塊,啟動核間通信等。
然后將案例rpmsg_lite_str_echo文件拷貝至評估板文件系統(tǒng),執(zhí)行如下命令發(fā)送數(shù)據(jù)至Cortex-M7核心。
Target# ./rpmsg_lite_str_echo /dev/ttyRPMSG30
圖 6
Cortex-M7核心接收到數(shù)據(jù)后,在RS232 UART4調(diào)試串口將數(shù)據(jù)進行打印,同時將數(shù)據(jù)回發(fā)至Cortex-A53。
圖 7
在USB TO UART2調(diào)試串口可查看Cortex-M7核心回發(fā)的數(shù)據(jù)。
圖 8
如果您還想查看更多i.MX8M Plus相關的案例演示,請通過公眾號(Tronlog創(chuàng)龍科技)查閱,親自上手體驗吧!
審核編輯 黃宇
-
NXP
+關注
關注
61文章
1321瀏覽量
186936 -
通信
+關注
關注
18文章
6152瀏覽量
137225 -
Amp
+關注
關注
0文章
85瀏覽量
47567
發(fā)布評論請先 登錄
TPS6521825 適用于 NXP i.MX 8M mini 的電源管理 IC數(shù)據(jù)手冊

在i.MX93和i.MX8M Plus上都使用UART,遇到了RTS/CTS連接問題求解決
在 NXP i.MX 8M Plus EVK上比較Yocto 4.0和Yocto 5.0時,空閑模式下的功耗增加了 20%,為什么?
NXP i.MX 93 開發(fā)板#提供高效的機器學習 支持高能效的邊緣計算

NXP推出FRDM i.MX 93開發(fā)板, 助力現(xiàn)代工業(yè)與邊緣智能開發(fā)

2.3T算力,真的強!1分鐘學會NPU開發(fā),基于NXP i.MX 8MP平臺!

使用TPS65023的NXP i.MX 7電源設計

使用TPS6521815 PMIC為NXP i.MX 6ULL、6UltraLite供電

使用TPS6521825和LP873347 PMIC為NXP i.MX 8M Mini和Nano供電

使用TPS6521815 PMIC為NXP i.MX 7處理器供電

使用TPS6521815 PMIC為NXP i.MX 6Solo、6DualLite供電

使用TPS65219為i.MX 8M Plus供電

評論