實時性,更強大 | OK3568-C開發(fā)板實時系統(tǒng)測評

原創(chuàng) 作者 rk3568 2022-10-09 13:18:00 RK3568實時系統(tǒng) RK3568實時補丁 rk3568

 在工業(yè)4.0時代,人工智能和工業(yè)物聯(lián)網(wǎng)的發(fā)展走上了快車道,越來越多的行業(yè)對實時操作系統(tǒng)有了更加迫切的需求。基于此,飛凌嵌入式推出了在OK3568-C開發(fā)板上運行的實時操作系統(tǒng),本文中小編將為大家介紹飛凌嵌入式在OK3568-C開發(fā)板上實現(xiàn)實時性的方式,以及實時內(nèi)核的效果測試。

一、為什么選擇實時操作系統(tǒng) ?

我們都知道,操作系統(tǒng)可以分為實時操作系統(tǒng)和分時操作系統(tǒng)。分時操作系統(tǒng)其實就是將系統(tǒng)處理機時間與內(nèi)存空間按一定的時間間隔輪流地切換給各終端用戶的程序使用。目前市面上絕大多數(shù)板卡上運行的Linux系統(tǒng)都是分時操作系統(tǒng)。但是隨著自動駕駛、智能機器人等行業(yè)的興起,對板載操作系統(tǒng)的實時性也提出了更高的要求。這時候,分時系統(tǒng)就無法滿足某些對實時性要求較高的行業(yè)的需求了,必須對Linux系統(tǒng)進行改進,使其具有更好的實時性,以順應(yīng)行業(yè)的發(fā)展。

例如無人駕駛技術(shù),系統(tǒng)需要根據(jù)復(fù)雜的路況情況及時做出分析判斷,做出反應(yīng),執(zhí)行剎車或變道操作;又比如車載安全氣囊,在遇到突發(fā)事故時,系統(tǒng)必須第一時間做出反應(yīng)彈出安全氣囊,保護車內(nèi)乘客人身安全。這些實際應(yīng)用場景都離不開實時操作系統(tǒng)。

二、如何實現(xiàn)“實時性” ?

Linux系統(tǒng)可以采用打補丁的方式來實現(xiàn)“實時性”。RT-Linux就是在Linux的基礎(chǔ)上加入了一個實時補丁,從而將Linux改進成實時操作系統(tǒng)。簡單地說,“實時補丁”的主要工作就是針對Linux系統(tǒng)的優(yōu)先級倒置、自旋鎖等問題進行改進,以達到實時操作系統(tǒng)的要求。

基于這個思路,我們就可以通過對內(nèi)核打?qū)崟r補丁的方法讓RK3568開發(fā)板上的Linux系統(tǒng)滿足實時性的需求。


飛凌提供了兩個補丁文件:

0001-patch-patch-4.19.206-rt87.patch-fix-kernel-sched-cor.patch

0002-fix-kernel-sched-core.c.patch

將兩個補丁文件拷貝到源碼/OK3568-linux-source/kernel路徑下,執(zhí)行以下命令

patch-p1 <0001-patch-patch-4.19.206-rt87.patch-fix-kernel-sched-cor.patch

patch-p1 < 0002-fix-kernel-sched-core.c.patch

然后,在源碼執(zhí)行./build.sh kernel命令,即可在/OK3568-linux-source/kernel目錄下生成boot.img鏡像文件。


客戶也可以直接單步燒寫飛凌制作完成的boot.img鏡像文件。

使用Type-C線連接RK3568開發(fā)板和主機,按住recover鍵不松開,然后再按reset鍵系統(tǒng)復(fù)位,大約兩秒后松開recover鍵。系統(tǒng)將提示發(fā)現(xiàn)一個loader設(shè)備。

點擊“設(shè)備分區(qū)表”按鈕,將自動讀取分區(qū)地址。

點擊左側(cè)勾選boot分區(qū)。

最后,點擊右側(cè)選擇您編譯生成的boot鏡像文件路徑,點擊“執(zhí)行”按鈕將自動燒寫并重新啟動RK3568開發(fā)板。

想要了解有關(guān)RK3568實時補丁的詳細資料,您可以聯(lián)系飛凌嵌入式銷售工程師。

三、實時內(nèi)核效果測試 

測試實時性的關(guān)鍵指標便是“延時”,延時指的是不論系統(tǒng)運行在代碼的什么位置,當事件發(fā)生時,系統(tǒng)響應(yīng)該事件的時間。其中中斷延時指的是中斷觸發(fā)到中斷服務(wù)函數(shù)執(zhí)行完畢的時間;調(diào)度延時指的是進程在隊列中等待直到獲取CPU控制權(quán)被執(zhí)行的時間。實時性,也可以表現(xiàn)為對這兩段延時最大的容忍程度。這里通過cyclictest軟件測量中斷延時和調(diào)度延時時間。

由于在真實的使用環(huán)境下并不能觸發(fā)最大的延時時間,因此在沒有合適負載的情況下運行cyclictest所測得的延時統(tǒng)計數(shù)據(jù)是沒有意義的。這里我們采用官方提供的hackbench工具來模擬部分類型的負載,然后在此基礎(chǔ)上運行cyclictest軟件來測試事件發(fā)生時,系統(tǒng)響應(yīng)該事件的時間。

先來看一下RK3568未打?qū)崟r補丁的測試結(jié)果:

再來看一下RK3568打?qū)崟r補丁后的測試結(jié)果:

這里我們著重比較兩者Max得出的參數(shù),因為系統(tǒng)的實時性能是由最大延時時間決定的。通過對打?qū)崟r補丁前后測試結(jié)果進行對比,打?qū)崟r補丁以后,可以明顯看出延時從213μs降低到80μs以內(nèi),實時效果還是十分明顯的。(不同測試條件下的延時不同,這里的測試結(jié)果僅供大家參考)

相關(guān)產(chǎn)品 >

  • FET3568-C核心板

    RK3568性能強而穩(wěn) 國產(chǎn)芯|飛凌嵌入式RK3568系列核心板,采用瑞芯微國產(chǎn)高性能AI處理器RK3568設(shè)計生產(chǎn),RK3568兼具CPU、GPU、NPU、VPU于一身,RK3568 性能、性價比在同類產(chǎn)品中具有較高優(yōu)勢,RK3568處理器是一款定位中高端的通用型SoC, 飛凌RK3568核心板主要面向工業(yè)互聯(lián)網(wǎng)、HMI、NVR存儲、車載中控、工業(yè)網(wǎng)關(guān)等領(lǐng)域。目前RK3568系列已經(jīng)批量穩(wěn)定出貨

    了解詳情
    FET3568-C核心板
  • OK3568-C開發(fā)板

    強而穩(wěn),國產(chǎn)芯,1Tops算力,多路高速接口|飛凌RK3568系列RK3568開發(fā)板基于國產(chǎn)工業(yè)級AI處理器RK3568四核64位Cortex-A55 處理器設(shè)計。RK3568作為國產(chǎn)化高性能處理器,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,NPU達到1Tops,飛凌RK3568系列核心板提供瑞芯微RK3568規(guī)格書_datasheet_數(shù)據(jù)手冊_原理圖等,


    了解詳情
    OK3568-C開發(fā)板

推薦閱讀 換一批 換一批