經(jīng)驗(yàn)老道的工程師都知道,在工業(yè)應(yīng)用場(chǎng)景和業(yè)務(wù)邏輯里面,對(duì)CPU采集工業(yè)傳感器信號(hào)的實(shí)時(shí)性要求非常高,同時(shí),操作系統(tǒng)對(duì)這些傳感器信號(hào)的處理,也作了非常嚴(yán)格的實(shí)時(shí)性限制。
對(duì)于實(shí)時(shí)傳感器信號(hào)的采集捕獲,通常是采用“單片機(jī)+RTOS實(shí)時(shí)操作系統(tǒng)”這種組合方式進(jìn)行處理;而對(duì)于復(fù)雜的傳感器信號(hào)處理、業(yè)務(wù)應(yīng)用邏輯和網(wǎng)絡(luò)任務(wù)處理,通常是采用“嵌入式SOC+Linux分時(shí)操作系統(tǒng)”這種組合較為恰當(dāng)。
市場(chǎng)上現(xiàn)在有不少處理器芯片,在其芯片內(nèi)部集成了多個(gè)處理器核心,分時(shí)系統(tǒng)核心和實(shí)時(shí)系統(tǒng)核心,不同的處理器核心之間通過(guò)高速總線進(jìn)行數(shù)據(jù)共享處理,這次要分享的芯片主角是瑞芯微的RK3568J。
創(chuàng)龍科技基于 RK3568J 處理器芯片,研發(fā)出具有“非對(duì)稱AMP雙系統(tǒng)”的工業(yè)級(jí)核心板 SOM-TL3568,并且對(duì)工程師們開(kāi)源了 Linux + RTOS/裸機(jī) 的應(yīng)用案例,廣泛應(yīng)用于工業(yè)相關(guān)領(lǐng)域。
“非對(duì)稱AMP”雙系統(tǒng)是什么
非對(duì)稱AMP(Asymmetric Multi-Processing),即非對(duì)稱多處理架構(gòu)?!胺菍?duì)稱AMP”雙系統(tǒng)主要是指運(yùn)行同一塊芯片內(nèi)包含多個(gè)處理核心,多個(gè)核心可以獨(dú)立運(yùn)行不同的操作系統(tǒng),或這運(yùn)行裸機(jī)應(yīng)用程序。
例如,使用多個(gè)核心分別運(yùn)行Linux + RTOS/裸機(jī)應(yīng)用程序,但需要注意的是,必需要有一個(gè)主核心來(lái)控制整個(gè)系統(tǒng)以及其它從核心。
每個(gè)處理器核心之間的數(shù)據(jù)空間相互隔離,即擁有屬于自己的內(nèi)存,既可各自獨(dú)立運(yùn)行不同的任務(wù),同時(shí)又可以多個(gè)核心之間進(jìn)行通信。
隨著工業(yè)應(yīng)用現(xiàn)場(chǎng)對(duì)嵌入式系統(tǒng)多任務(wù)和實(shí)時(shí)性要求的不斷提高,非對(duì)稱AMP架構(gòu)如今已成為一種新的選擇,其主要應(yīng)用于工業(yè)控制領(lǐng)域,如工業(yè)PLC、運(yùn)動(dòng)控制器、機(jī)器人控制器、繼電保護(hù)裝置、小電流選線設(shè)備等。
“非對(duì)稱AMP”對(duì)工業(yè)有何重要意義
1- 更強(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)外部事件速度等。
2- 更高的“系統(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è)處理器核心之間相互隔離,獨(dú)立擁有屬于自己的內(nèi)存,核心之間的數(shù)據(jù)互不干擾。開(kāi)發(fā)者可根據(jù)工業(yè)場(chǎng)景需要,靈活地指定某個(gè)任務(wù)在某個(gè)核心上獨(dú)立運(yùn)行,也可指定不同核心系統(tǒng)之間進(jìn)行相互數(shù)據(jù)通信,因此系統(tǒng)穩(wěn)定性將會(huì)大大提高,有效地降低系統(tǒng)崩潰的概率,從而保證數(shù)據(jù)信息完整穩(wěn)定性。
3- 更低的“系統(tǒng)硬件成本”核間通信方式?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í),大大降低系統(tǒng)硬件成本。而如果采用分立CPU的設(shè)計(jì)方案,則需要兩套硬件電路(CPU/ROM/RAM/PMIC),系統(tǒng)硬件成本成倍增加。
RK3568J非對(duì)稱AMP開(kāi)發(fā)案例
創(chuàng)龍科技基于 RK3568J 處理器研發(fā)的工業(yè)級(jí)核心板(SOM-TL3568),現(xiàn)已提供了非對(duì)稱AMP開(kāi)發(fā)案例,并繼續(xù)快速完善中。 目前已經(jīng)提供了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%。 (1分鐘解鎖國(guó)產(chǎn)化率100%的RK3568J工業(yè)核心板)
接下來(lái),我們以串口回顯功能為例,演示一下SOM-TL3568核心板的非對(duì)稱AMP案例的開(kāi)發(fā)基本流程。
實(shí)現(xiàn)串口回顯功能案例案例實(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),然后在開(kāi)發(fā)板命令行終端,執(zhí)行如下命令,將其固化至Linux系統(tǒng)啟動(dòng)卡對(duì)應(yīng)分區(qū)。
備注:如需固化到eMMC,需要將設(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-Boot的命令行模式,然后執(zhí)行如下命令,關(guān)閉設(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)成功后,將自動(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 程序終端日志
審核編輯:劉清
-
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208723 -
RTOS
+關(guān)注
關(guān)注
21文章
809瀏覽量
119362 -
處理器芯片
+關(guān)注
關(guān)注
0文章
117瀏覽量
19758 -
裸機(jī)
+關(guān)注
關(guān)注
0文章
39瀏覽量
6329 -
RK3568
+關(guān)注
關(guān)注
4文章
492瀏覽量
4892
原文標(biāo)題:嵌入式工業(yè)利器,RK3568J 支持非對(duì)稱AMP : Linux+RTOS/裸機(jī)啦!
文章出處:【微信號(hào):工程師進(jìn)階筆記,微信公眾號(hào):工程師進(jìn)階筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論