“非對(duì)稱AMP”雙系統(tǒng)是什么
AMP(Asymmetric Multi-Processing),即非對(duì)稱多處理架構(gòu)?!胺菍?duì)稱AMP”雙系統(tǒng)是指多個(gè)核心相對(duì)獨(dú)立運(yùn)行不同的操作系統(tǒng)或裸機(jī)應(yīng)用程序,如Linux + RTOS/裸機(jī),但需一個(gè)主核心來(lái)控制整個(gè)系統(tǒng)以及其它從核心。每個(gè)處理器核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨(dú)立運(yùn)行不同的任務(wù)又可多個(gè)核心之間進(jìn)行核間通信。
隨著對(duì)嵌入式系統(tǒng)要求的不斷提高,非對(duì)稱AMP架構(gòu)如今已成為一種新選擇,主要應(yīng)用于工業(yè)領(lǐng)域,如工業(yè)PLC、運(yùn)動(dòng)控制器、機(jī)器人控制器、繼電保護(hù)裝置、小電流選線設(shè)備等。
“非對(duì)稱AMP”對(duì)工業(yè)有何意義
更強(qiáng)“系統(tǒng)實(shí)時(shí)性”非對(duì)稱AMP架構(gòu)擁有更強(qiáng)的系統(tǒng)實(shí)時(shí)性,原因在于可使用固定的核心進(jìn)行實(shí)時(shí)任務(wù)處理。因此在工業(yè)自動(dòng)化控制領(lǐng)域中采用非對(duì)稱AMP架構(gòu)時(shí),兼顧了工業(yè)系統(tǒng)控制設(shè)備需要的復(fù)雜功能和實(shí)時(shí)性。AMP架構(gòu)能夠極大地提高系統(tǒng)實(shí)時(shí)性,從而提高系統(tǒng)執(zhí)行效率、計(jì)算能力及響應(yīng)外部事件速度等。
更高“系統(tǒng)穩(wěn)定性”非對(duì)稱AMP架構(gòu)擁有更高的系統(tǒng)穩(wěn)定性,是因?yàn)闊o(wú)需多個(gè)分立CPU之間進(jìn)行頻繁數(shù)據(jù)交互。AMP架構(gòu)中,每個(gè)處理器核心又相互隔離,擁有屬于自己的內(nèi)存,核心之間互不干擾。開(kāi)發(fā)者可根據(jù)開(kāi)發(fā)需要靈活指定某個(gè)任務(wù)僅某個(gè)核心上運(yùn)行,亦可指定不同核心系統(tǒng)之間進(jìn)行通信,因此系統(tǒng)穩(wěn)定性將大大提高,有效地降低系統(tǒng)崩潰概率,從而保證數(shù)據(jù)信息完整性。
更低“系統(tǒng)硬件成本”內(nèi)部通信的方式?jīng)Q定了僅需一套硬件電路即刻實(shí)現(xiàn)復(fù)雜的功能,使得非對(duì)稱AMP架構(gòu)方案擁有更低的系統(tǒng)硬件成本。AMP架構(gòu)中各核心可運(yùn)行不同的操作系統(tǒng),可并行執(zhí)行多個(gè)任務(wù),在開(kāi)發(fā)中不需額外搭建其他系統(tǒng)硬件設(shè)備支持,在提高效率的同時(shí)大大降低系統(tǒng)硬件成本。而采取分立CPU方案,需要兩套硬件電路(CPU/ROM/RAM/PMIC),系統(tǒng)硬件成本成倍增加。
RK3568J非對(duì)稱AMP開(kāi)發(fā)案例
創(chuàng)龍科技RK3568J工業(yè)核心板(SOM-TL3568)已提供了非對(duì)稱AMP開(kāi)發(fā)案例,并繼續(xù)快速完善中。目前提供了GPIO、UART控制功能案例,同時(shí)計(jì)劃在近1~2個(gè)月陸續(xù)提供基于AMP架構(gòu)的SPI、I2C、CAN、PCIe等案例。
SOM-TL3568核心板CPU、ROM、RAM、電源、晶振、連接器等所有器件均采用國(guó)產(chǎn)工業(yè)級(jí)方案,國(guó)產(chǎn)化率100%。
下面以串口回顯功能演示非對(duì)稱AMP案例的開(kāi)發(fā)基本流程。
實(shí)現(xiàn)串口回顯功能案例案例功能:CPU0、CPU1、CPU2核心運(yùn)行Linux系統(tǒng);CPU3核心運(yùn)行Baremetal、RT-Thread(RTOS)程序,實(shí)現(xiàn)RS485 UART7串口的回顯功能。
圖 1
請(qǐng)將案例產(chǎn)品資料案例提供的amp.img鏡像拷貝至評(píng)估板文件系統(tǒng),執(zhí)行如下命令將其固化至Linux系統(tǒng)啟動(dòng)卡對(duì)應(yīng)分區(qū)。備注:如需固化至eMMC,請(qǐng)將設(shè)備節(jié)點(diǎn)修改為"/dev/mmcblk0p8"。
Target#dd if=amp.img of=/dev/mmcblk1p8conv=fsync
Target#sync
Target#reboot
圖 2
將評(píng)估板上電啟動(dòng),在U-Boot倒計(jì)時(shí)結(jié)束之前按下空格鍵進(jìn)入U(xiǎn)-Boot命令行模式,執(zhí)行如下命令關(guān)閉設(shè)備樹(shù)uart0和uart7配置,避免Linux內(nèi)核占用案例的外設(shè)資源。
U-Boot#fdt set /serial@fdd50000 status "disable"
U-Boot#fdt set /serial@fe6b0000 status "disable"
U-Boot#boot
圖 3
U-Boot啟動(dòng)后,將加載運(yùn)行amp.img鏡像,RS232 UART0串口終端將打印程序運(yùn)行信息。
圖 4Baremetal程序串口終端
圖 5RT-Thread(RTOS)程序串口終端
在RS485 UART7串口終端輸入8個(gè)字符后按回車,串口終端將回顯接收到的字符。
圖 6
同時(shí)RS232 UART0串口終端打印如下程序運(yùn)行信息。
圖 7Baremetal程序串口終端
圖 8RT-Thread(RTOS)程序串口終端
-
ARM
+關(guān)注
關(guān)注
134文章
9097瀏覽量
367604 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305299 -
ARM開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
36瀏覽量
9542 -
硬件開(kāi)發(fā)
+關(guān)注
關(guān)注
3文章
158瀏覽量
24180 -
創(chuàng)龍科技
+關(guān)注
關(guān)注
2文章
131瀏覽量
7725
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論