瑞芯微3568開發板實時作業系統
在工業4.0時代,人工智慧和工業物聯網的發展走上了快車道,越來越多的行業對實時作業系統有了更加迫切的需求。基於此,飛凌嵌入式推出了在OK3568-C開發板
飛凌嵌入式官網-ARM嵌入式核心板、開發板、工控機、微控制器解決方案-專注智慧裝置核心平臺研發與製造 - 保定飛凌嵌入式技術有限公司 上執行的實時作業系統,本文中小編將為大家介紹飛凌嵌入式在OK3568-C開發板上實現實時性的方式,以及實時核心的效果測試。
1
為什麼選擇實時作業系統 ?
我們都知道,作業系統可以分為實時作業系統和分時作業系統。分時作業系統其實就是將系統處理機時間與記憶體空間按一定的時間間隔輪流地切換給各終端使用者的程式使用。目前市面上絕大多數板卡上執行的Linux系統都是分時作業系統。
但是隨著自動駕駛、智慧機器人等行業的興起,對板載作業系統的實時性也提出了更高的要求。這時候,分時系統就無法滿足某些對實時性要求較高的行業的需求了,必須對Linux系統進行改進,使其具有更好的實時性,以順應行業的發展。
例如無人駕駛技術,系統需要根據複雜的路況情況及時做出分析判斷,做出反應,執行剎車或變道操作;又比如車載安全氣囊,在遇到突發事故時,系統必須第一時間做出反應彈出安全氣囊,保護車內乘客人身安全。這些實際應用場景都離不開實時作業系統。
2
如何實現“實時性” ?
Linux系統可以採用打補丁的方式來實現“實時性”。RT-Linux就是在Linux的基礎上加入了一個實時補丁,從而將Linux改進成實時作業系統。簡單地說,“實時補丁”的主要工作就是針對Linux系統的優先順序倒置、自旋鎖等問題進行改進,以達到實時作業系統的要求。
基於這個思路,我們就可以透過對核心打實時補丁的方法讓OK3568-C開發板上的Linux系統滿足實時性的需求。
飛凌提供了兩個補丁檔案:
0001-patch-patch-4.19.206-rt87.patch-fix-kernel-sched-cor.patch 0002-fix-kernel-sched-core.c.patch
將兩個補丁檔案複製到原始碼/OK3568-linux-source/kernel路徑下,執行以下命令:
patch-p1 <0001-patch-patch-4.19.206-rt87.patch-fix-kernel-sched-cor.patch patch-p1 < 0002-fix-kernel-sched-core.c.patch
然後,在原始碼執行./build.sh kernel命令,即可在/OK3568-linux-source/kernel目錄下生成boot.img映象檔案。
客戶也可以直接單步燒寫飛凌製作完成的boot.img映象檔案。
使用Type-C線連線開發板和主機,按住recover鍵不鬆開,然後再按reset鍵系統復位,大約兩秒後鬆開recover鍵。系統將提示發現一個loader裝置。
點選“裝置分割槽表”按鈕,將自動讀取分割槽地址。
點選左側勾選boot分割槽。
最後,點選右側選擇您編譯生成的boot映象檔案路徑,點選“執行”按鈕將自動燒寫並重新啟動。
想要了解有關實時補丁的詳細資料,您可以在公眾號留言聯絡飛凌嵌入式銷售工程師。
3
實時核心效果測試
測試實時性的關鍵指標便是“延時”,延時指的是不論系統執行在程式碼的什麼位置,當事件發生時,系統響應該事件的時間。
其中
中斷延時指的是中斷觸發到中斷服務函式執行完畢的時間;
排程延時指的是程式在佇列中等待直到獲取CPU控制權被執行的時間。
實時性,也可以表現為對這兩段延時最大的容忍程度。這裡透過cyclictest軟體測量中斷延時和排程延時時間。
由於在真實的使用環境下並不能觸發最大的延時時間,因此在沒有合適負載的情況下執行cyclictest所測得的延時統計資料是沒有意義的。這裡我們採用官方提供的hackbench工具來模擬部分型別的負載,然後在此基礎上執行cyclictest軟體來測試事件發生時,系統響應該事件的時間。
先來看一下
未打實時補丁的測試結果:
再來看一下
打實時補丁後的測試結果:
這裡我們著重比較兩者Max得出的引數,因為系統的實時效能是由最大延時時間決定的。透過對打實時補丁前後測試結果進行對比,
打實時補丁以後,可以明顯看出延時從213μs降低到80μs以內,實時效果還是十分明顯的。(不同測試條件下的延時不同,這裡的測試結果僅供大家參考)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2917354/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於瑞芯微RK3568開發板的燒寫方式
- RK3568開發筆記(一):瑞芯微RK3568晶片介紹,入手開發板的核心板介紹筆記晶片
- 瑞芯微RK3568四核核心板晶片簡介晶片
- RK3568開發筆記(三):瑞芯微RK3588晶片介紹,入手開發板的核心板介紹筆記晶片
- 測評 | 國產“芯” · 瑞芯微 RK3568 效能解析
- 瑞芯微RK3568開發板Linux編譯報錯404怎麼辦觸覺智慧教你輕鬆解決Linux編譯
- 瑞芯微RK3399開發板,RK3399主機板引數介紹
- 瑞芯微RK3566開發板OpenHarmony標準系統應用相容性測試指導
- 瑞芯微平臺RK3399主機板PCBA開發設計
- 國產!瑞芯微RK3576(八核@2.2GHz+6T NPU)工業開發板規格書
- 香蕉派 BPI-W3採用瑞芯微RK3588開源硬體開發板公開發售
- OpenHarmony-RK3568開發板操作梳理
- rk3568核心板開發介紹
- 瑞芯微RK3399開發板Android7.1修改網路優先順序方法,觸覺智慧SBC3968開發板演示Android
- 瑞芯微rtl8211F(D)(L)系統設計指南
- 化腐朽為神奇!揭開ISP影像處理的神秘面紗,基於瑞芯微RK3568J工業平臺!
- RK3568開發板原始碼編譯原始碼編譯
- 3568F-翼輝SylixOS國產作業系統演示案例作業系統
- 案例原始碼公開!分享瑞芯微RK3568J與FPGA的PCIe通訊案例,嵌入式必讀!原始碼FPGA
- Banana Pi BPI-R2 Pro 開源路由器採用瑞芯微(Rockchip) RK3568晶片方案設計NaN路由器晶片
- 華為:證實已開發出自主作業系統作業系統
- Linux檢視觸控座標點的方法,觸覺智慧RK3562開發板,瑞芯微、全志等通用Linux
- 瑞芯微最新開發資料下載--rk3399 ubuntu16.04開發說明Ubuntu
- 新品上市|EVB3588S開發板,瑞芯微RK3588S八核芯,6T高算力,豐富音影片介面,開發評估快人一步
- 為實現全域性化產品線佈局,瑞芯微宣佈旗下晶片RK3399Linux系統開源晶片Linux
- 瑞芯微RK3576核心板釋出,全新AIoT晶片加持,革新物聯體驗AI晶片
- 【動手開發作業系統】- 介紹作業系統
- 微機結構和作業系統作業系統
- 微博網友吐槽iOS系統 華為:正在開發新一代作業系統iOS作業系統
- 使用Busybox製作最小檔案系統並燒寫入開發板
- 啟揚RK3568核心板/開發板應用在智慧通行上的解決方案
- 寫作業系統之開發載入器作業系統
- 寫作業系統之搭建開發環境作業系統開發環境
- Linux 作業系統!開篇!!!Linux作業系統
- 作業系統(1)——作業系統概述作業系統
- 作業系統(一):作業系統概述作業系統
- i tell you 微軟各種 作業系統 應用程式 開發工具 下載微軟作業系統
- 作業系統微核心和Dubbo微核心,有何不同?作業系統