“非對稱(chēng)AMP”雙系統是什么 AMP(Asymmetric Multi-Processing),即非對稱(chēng)多處理架構!胺菍ΨQ(chēng)AMP”雙系統是指多個(gè)核心相對獨立運行不同的操作系統或裸機應用程序,如Linux + RTOS/裸機,但需一個(gè)主核心來(lái)控制整個(gè)系統以及其它從核心。每個(gè)處理器核心相互隔離,擁有屬于自己的內存,既可各自獨立運行不同的任務(wù),又可多個(gè)核心之間進(jìn)行核間通信。 圖 1 FMQL20SM AMP異構多核框架示意圖 “非對稱(chēng) AMP” 對工業(yè)的重大意義 更強“系統實(shí)時(shí)性” 在工業(yè)自動(dòng)化控制的復雜場(chǎng)景中,對于系統實(shí)時(shí)性的要求極高。非對稱(chēng)AMP架構憑借其獨特優(yōu)勢,能夠運用固定的核心來(lái)處理實(shí)時(shí)任務(wù),很好兼顧復雜功能與實(shí)時(shí)性需求。AMP架構全面提升了系統實(shí)時(shí)性、執行效率、計算能力以及響應速度,讓工業(yè)生產(chǎn)更加精準、高效。 更高“系統穩定性” 非對稱(chēng)AMP架構在穩定性方面表現卓越。無(wú)需多個(gè)分立CPU之間頻繁交互數據,每個(gè)處理器核心擁有屬于自己的內存,核心之間互不干擾。開(kāi)發(fā)者可靈活分配任務(wù)或指定核心間通信,大大增強了系統穩定性,有效減少崩潰風(fēng)險,全方位保障數據的完整性。 更低“系統硬件成本” 成本控制一直是工業(yè)領(lǐng)域關(guān)注的重點(diǎn)。非對稱(chēng)AMP架構通過(guò)優(yōu)化內部通信,僅需一套硬件電路即可實(shí)現復雜功能,顯著(zhù)降低系統硬件成本。其各核心能運行不同操作系統,并行處理多個(gè)任務(wù),無(wú)需額外硬件支持,真正做到了高效且經(jīng)濟。相比之下,采用分立CPU方案則需要兩套硬件電路(CPU/ROM/RAM/PMIC),系統硬件成本成倍增加。 圖 2 “非對稱(chēng)AMP”雙系統的應用領(lǐng)域 隨著(zhù)嵌入式系統的發(fā)展,對其性能和功能的要求日益提高,非對稱(chēng)AMP架構如今已成為一種新選擇,主要應用于工業(yè)領(lǐng)域,如電力DTU、數據采集器、繼電保護設備、運動(dòng)控制器、驅控一體控制器等。 圖 3 FMQL20S400M 非對稱(chēng)AMP開(kāi)發(fā)案例 接下來(lái),為大家詳細介紹基于FMQL20S400M異構多核SoC處理器PS端的AMP通信案例,適用開(kāi)發(fā)環(huán)境如下。 Windows開(kāi)發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit Linux開(kāi)發(fā)環(huán)境:Ubuntu 16.04.5 64bit 虛擬機:VMware16.2.5 PL端開(kāi)發(fā)環(huán)境:Procise 2023.1 LinuxSDK:FMQL-Linux-SDK-Prj-20230801 U-Boot:U-Boot-2018.07 Kernel:Linux-4.14.55 硬件平臺:創(chuàng )龍科技TLFM20S-EVM工業(yè)評估板 為了簡(jiǎn)化描述,本文僅摘錄部分方案功能描述與測試結果。 基于Linux啟動(dòng)AMP裸機程序 案例功能 本案例主要實(shí)現如下的功能: (1)配置CPU0、CPU1、CPU2運行Linux系統,配置CPU3運行裸機程序。 (2)運行Linux系統的CPU核功能為:初始化系統;控制運行裸機程序的CPU核啟動(dòng);與運行裸機程序的CPU核通信,控制LED亮滅。 (3)運行裸機程序的CPU核功能為:與Linux系統通信;接收Linux系統的控制命令,并根據命令控制LED亮滅。 案例演示 首先,請將案例的可執行程序拷貝至評估板文件系統任意目錄下,參考產(chǎn)品資料進(jìn)行環(huán)境配置,完成后,執行以下命令,加載裸機程序至PS端DDR地址0x19000000。 備注:我司提供的Linux系統已在PS端DDR內存中分配AMP裸機程序的內存空間,地址范圍為0x1900 0000 ~ 0x19FF FFFF,容量為16MByte。 Target# ./filetomem ./amp_led_ctrl.bin 0x19000000 圖 4 執行如下命令,設置CPU3核運行裸機程序。Target# ./amp 3 0x19000000 圖 5 執行如下命令,運行Linux端AMP應用程序,點(diǎn)亮或熄滅評估底板PS端LED1。Target# ./led 1 on Target# ./led 1 off 圖 6 基于U-Boot啟動(dòng)AMP裸機程序 案例功能 本案例主要實(shí)現如下的功能: (1)CPU0啟動(dòng)U-Boot,基于U-Boot配置CPU1/CPU2/CPU3其中一個(gè)核心運行裸機程序。 (2)CPU0功能為:初始化系統,控制運行裸機程序的CPU核啟動(dòng)。 (3)運行裸機程序的CPU核功能為:控制LED亮滅。 案例演示 首先,請將Linux系統啟動(dòng)卡通過(guò)讀卡器插至PC機USB端口,并將案例的amp_led_flash.bin文件拷貝至Linux系統啟動(dòng)卡BOOT分區(FAT32格式)。 圖 7 然后,在插入Linux系統啟動(dòng)卡后,啟動(dòng)評估板,進(jìn)入U-Boot命令行,執行如下命令。加載Linux系統啟動(dòng)卡中的裸機程序至DDR地址0x19000000,并設置CPU3運行裸機程序。U-Boot> dcache off U-Boot> fatload mmc 0 0x19000000 /amp_led_flash.bin U-Boot> bootamp 3 0x19000000 圖 8 程序運行后,您就能看到評估底板PS端LED1每隔0.5s閃爍,是不是很神奇?如果各位工程師想要了解更多 FMQL20SM 相關(guān)的案例演示,可以通過(guò)公眾號(Tronlong創(chuàng )龍科技)查看,快來(lái)探索吧! |