“非對稱AMP”雙系統 AMP(Asymmetric Multi-Processing),即非對稱多處理架構。“非對稱AMP”雙系統是指多個核心相對獨立運行不同的操作系統或裸機應用程序,如Linux + RTOS/裸機,但需一個主核心來控制整個系統以及其它從核心。每個處理器核心相互隔離,擁有屬于自己的內存,既可各自獨立運行不同的任務,又可多個核心之間進行核間通信。 圖 1 RK3562J AMP異構多核框架示意圖 “非對稱AMP”對工業有何意義 “系統實時性”更強 非對稱AMP架構擁有更強的系統實時性,可使用固定的核心進行實時任務處理。在工業自動化控制領域中,非對稱AMP架構可以兼顧復雜功能與實時性需求。AMP架構提高了系統實時性、執行效率、計算能力及響應速度。 “系統穩定性”更高 非對稱AMP架構擁有更高的系統穩定性,核心之間獨立且無需頻繁交互數據,每個處理器核心擁有屬于自己的內存,核心之間互不干擾。開發者可靈活分配任務或指定核心間通信,從而增強系統穩定性,減少崩潰風險,保障數據完整。 “系統硬件成本”更低 非對稱AMP架構通過優化內部通信,僅需一套硬件電路即可實現復雜功能,顯著降低系統硬件成本。其各核心能運行不同操作系統,并行處理多任務,無需額外硬件支持,高效且經濟。 圖 2 “非對稱AMP”雙系統的應用領域 隨著對嵌入式系統要求的不斷提高,非對稱AMP架構如今已成為一種新選擇,主要應用于工業領域,如工業PLC、運動控制器、機器人控制器、繼電保護裝置、小電流選線設備等。 圖 3 RK3562J非對稱AMP開發案例 本文主要介紹基于RK3562J的非對稱AMP開發案例,適用開發環境如下。 Windows開發環境:Windows 7 64bit、Windows 10 64bit Linux開發環境:VMware16.2.5、Ubuntu20.04.6 64bit U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.198 LinuxSDK:LinuxSDK-[版本號](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220) 硬件平臺:創龍科技RK3562J工業評估板(TL3562-EVM) 為了簡化描述,本文僅摘錄部分方案功能描述與測試結果。 案例說明 案例功能: (1)Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心運行Linux系統與rpmsg_echo應用程序;Cortex-M0(MCU)核心運行RT-Thread或Baremetal程序,實現Linux端的rpmsg數據的接收與發送功能。 (2)Cortex-A53(CPU0、CPU1、CPU2)核心運行Linux系統與rpmsg_echo應用程序;Cortex-A53(CPU3)核心運行RT-Thread或Baremetal程序,實現Linux端的rpmsg數據的接收與發送功能。 案例程序流程圖如下所示: 圖 4 案例演示下文以Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心運行Linux系統與rpmsg_echo應用程序,Cortex-M0(MCU)核心運行Baremetal程序為例進行演示。 參考產品資料,固化案例的amp.img鏡像至評估板并替換案例的評估板系統內核鏡像。U-Boot啟動后,將加載運行amp.img鏡像,Baremetal程序的串口終端將打印程序運行信息。 圖 5 執行如下命令運行Linux應用程序rpmsg_echo,發送8個rpmsg數據包至運行Baremetal程序的Cortex-M0核心,當Cortex-M0核心每收到1個rpmsg數據包就會將數據包發送回Linux端。rpmsg數據包內容為"hello there x!"(x是rpmsg數據包序號,每發送一次加1)。Target# ./rpmsg_echo -n 8 圖 6 查看更多RK3562J相關的案例演示,各位工程師可以通過公眾號(Tronlong創龍科技)下載,快來試試吧! |