如何給嵌入式Linux打實時補丁?

原創 2020-03-06 16:30:00 AM335x 實時補丁

一、實時系統分類

實時系統可以分為硬實時(Safety-Critical,低延時,比如幾十個us内)和軟實時(幾百個us~幾個/幾十個ms),硬實時通常跟高确定性、可靠性要求同時出現,如果達不到,可能會造成重大生命或者财産損失,比如說航天飛控、汽車制動系統、精密儀器等都有較高的硬實時要求。對于軟實時,可靠性要求沒那麼高,即使出現了延遲,造成的損失可控,比如說音頻失真,視頻不順暢。

二、已有方案

Linux 本身已經有硬實時的方案,比如來自風河的 RT Linux,或者西班牙一家研究所的 XtratuM + PartiKle,還有其他的比如 Xenomai,RTAI 等。另外,内核官方還有完全搶占内核(Preempt-RT Linux)的支持,這個在某些情況下也達到了硬實時要求,改補丁現在有OSADL維護。        

然後就是各種優化,包括驅動(irq, preempt disable), spin lock 等使用,中斷函數線程化,mdelay 替換為 usleep_range() 等。優化時需要用到很多工具,比如 Ftrace, Perf, Cyclictest, Oscilloscope 等。

硬件本身的低延遲設計、可靠性設計等也會嚴重影響系統的實時性,比如說 ARM Cortex A/R/M 三系中的 R 就是專為高端嵌入式實時系統設計的,在中斷行為方面做了優化。

三、Linux RT-Preempt

飛淩FET335xD工業級核心闆因為其出色的工業級品質和運行的穩定性在工業自動化及通訊、電力軌道交通醫療器械等多種領域受到用戶的認可。随着市場産品競争的不斷加劇,産品需要多樣化的優勢來體現産品價值。作為國内出貨量較大的核心闆廠商,飛淩嵌入式同樣需要不斷的提升自己的産品特色以及市場競争力,因為隻有這樣,才能間接的使終端用戶的産品擁有更多的優勢。為此,飛淩的軟件工程師成功的在FET335xD工業級核心闆上移植了Linux RT-Preempt版本,使用戶在不增加成本的基礎上擁有了硬實時操作系統。

 飛淩移植的Linux RT-Preempt版本為3.2.88-RT126,擁有以下特點:

1、保證任務處理響應時間的确定性,線程可搶占,确保高優先級任務的響應時間,最快可達6μs

2、微秒級的任務切換時間與延遲,實測任務切換時間可達500μs,任務切換延遲在負載狀态下最大僅100μsposix标準的實時任務函數,通用性高,可移植性行強,具有高度兼容性

3、支持QT4.8.6,方便用戶界面開發

4、與普通版本Linux燒寫方式一樣,方便用戶生産與使用

5、開機啟動時間僅15秒(從上電到界面點亮)

 

飛淩嵌入式出品的FET335xD工業級核心闆,采用TI AM3354處理器,核心闆工業級标準以及雙獨立MAC千兆網,豐富的485、CAN、GPMC等多種總線接口使此款核心闆本身就很非常适合工控領域,現在支持了實時操作系統Linux RT-Preempt,讓FET335xD核心闆在工控領域更具适應性。可以說用戶選擇此款核心則免費獲得了實時操作系統的應用需求,不需要花費重金去購買付費的RTOS,也不需要自己進行高難度的系統移植工作。

 

 


相關産品 >

  • OK335xD開發闆

    飛淩AM335x開發闆已經推出幾年,經過行業檢測,穩定性得到肯定。多年行業積累,AM335x的解決方案涉及各行各業,歡迎進店咨詢。飛淩AM335x開發闆基于TI Cortex-A8 AM335x CPU設計開發,主頻800MHz,支持Linux。AM335x開發闆工業級寬溫,配合豐富的外設接口,适用于各種惡劣環境應用。 了解詳情
    OK335xD開發闆
  • OK62xx-C開發闆

    AM62x 開發闆是圍繞飛淩AM62x核心闆設計的獨立測試和開發平台。AM62x處理器由四核64位Arm -Cortex -A53微處理器 和Cortex-M4F組成。AM62x開發闆整闆工業級設計,并在開發過程中進行嚴苛的環境溫度測試、壓力測試、長期穩定性運行測試,使AM62x可在各種嚴苛環境穩定運行 了解詳情
    OK62xx-C開發闆

推薦閱讀 換一批 換一批