如果要選出飛凌嵌入式最熱門的幾款產品,FET3568-C系列核心板一定榜上有名。這款高性價比的全能型核心板上市兩年來已贏得了數千家客戶的青睞。飛凌嵌入式也在不斷對它進行升級——從“配置新增”到“100%國產化認證”再到“新系統(tǒng)適配”,以滿足更多行業(yè)客戶的需求。
近期,飛凌嵌入式FET3568-C系列核心板再度迎來新升級——支持“AMP”雙系統(tǒng)。
1、什么是“AMP”
AMP(非對稱多處理)簡單來說就是:多核處理器的每個核之間相互隔離,可以相對獨立地運行不同的操作系統(tǒng)或裸機程序。這種運行模式比較適合高實時性的應用。
2、FET3568-C核心板AMP
飛凌嵌入式FET3568-C核心板搭載的RK3568處理器采用四核Cortex-A55架構,從架構上看屬于“同構多核架構”。
RK3568的AMP SDK與Linux SDK相比,區(qū)別在于Linux SDK中使用的是SMP(對稱多處理)模式,即只運行一個Linux操作系統(tǒng),在該操作系統(tǒng)中管理全部四個核;而AMP SDK使用AMP的模式,四個核心中的三個核心共同運行一個Linux操作系統(tǒng),另一個核心單獨運行裸機程序。
由于高實時性任務是由運行裸機程序的核心專門處理的,所以這種運行模式可以很好地滿足如電力互聯網、電網繼電保護、電力系統(tǒng)安全控制、工業(yè)自動化等領域的高實時性需求。
3、更低成本,更高實時性,更具優(yōu)勢
(1) 更低成本:
為了解決Linux系統(tǒng)主控實時性不足的問題,在傳統(tǒng)應用中通常會采取外掛單片機的方式專門執(zhí)行高實時性的程序。
而采用AMP系統(tǒng)就可以舍棄掉外置的單片機,在FET3568-C核心板上,可以將四個A55核中的一個核心分離出來作為實時核單獨運行RT-Thread或裸機程序——只用一顆芯片就能夠完成所有的工作,降低了硬件成本。
(2) 高實時性:
由于Linux系統(tǒng)實時性較低,所以無法用來執(zhí)行對實時性要求高的任務。而裸機程序或者實時操作系統(tǒng)的實時性遠高于Linux系統(tǒng),同時也得益于FET3568-C核心板最高2.0GHz的高主頻,運行實時操作系統(tǒng)的A55核也可以擁有很強的實時性。
4、核間通信
與其它多核異構架構的處理器相同,AMP也使用共享內存的方式在A核(Linux)與實時核(裸機或實時操作系統(tǒng))之間進行數據傳輸。
通過物理內存DDR分配,將硬件層分為了兩部分:TXVring Buffer(發(fā)送虛擬環(huán)狀緩沖區(qū))和RXVring Buffer(接收虛擬環(huán)狀緩沖區(qū));其中實時核從TXVring區(qū)發(fā)送數據,從RXVring區(qū)讀取接收數據,A核反之。
5、AMP使用示例
目前飛凌嵌入式FET568-C核心板已提供GPIO、UART、SPI接口的使用示例,使用RPMSG進行核間通信。其它接口還在適配中,之后會陸續(xù)開放。裸機程序可以在提供的工具中使用JLINK仿真調試。
下面簡要介紹一下裸機程序中UART接口的使用示例:
(1) 硬件連接
本示例使用的是UART5,使用跳線帽將OK3568-C開發(fā)板上的TX5與RX5短接。
(2) 設備樹配置
為了防止Linux占用UART5的資源導致實時核無法使用UART5,需要先在設備樹上的rockchip_amp節(jié)點添加對UART5的資源保護,包括時鐘和pinctrl。
clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>, pinctrl-names = “default”, ”uart5”; pinctrl-1 = <&uart5m1_xfer>;
(3) 裸機程序的配置
UART接口使用介紹:
示例使用:
根據OK3568-C開發(fā)板產品資料中提供的手冊,在裸機程序的main函數中調用我們編寫好的使用例程。
實驗現象:
按照手冊編譯燒寫完程序后,打開串口調試助手,打開對應串口,可以看到OK3568-C開發(fā)板開機后程序發(fā)出的數據。
在串口調試助手,輸入任何數據并發(fā)送,觸發(fā)接收中斷,從實時核調試串口(uart4)就可以看到輸入的數據了。
-
嵌入式
+關注
關注
5087文章
19150瀏覽量
306356 -
Amp
+關注
關注
0文章
81瀏覽量
47193 -
實時系統(tǒng)
+關注
關注
0文章
38瀏覽量
14492
發(fā)布評論請先 登錄
相關推薦
評論