如何給嵌入式Linux打?qū)崟r(shí)補(bǔ)丁?

原創(chuàng) 2020-03-06 16:30:00 AM335x 實(shí)時(shí)補(bǔ)丁

一、實(shí)時(shí)系統(tǒng)分類(lèi)

實(shí)時(shí)系統(tǒng)可以分為硬實(shí)時(shí)(Safety-Critical,低延時(shí),比如幾十個(gè)us內(nèi))和軟實(shí)時(shí)(幾百個(gè)us~幾個(gè)/幾十個(gè)ms),硬實(shí)時(shí)通常跟高確定性、可靠性要求同時(shí)出現(xiàn),如果達(dá)不到,可能會(huì)造成重大生命或者財(cái)產(chǎn)損失,比如說(shuō)航天飛控、汽車(chē)制動(dòng)系統(tǒng)、精密儀器等都有較高的硬實(shí)時(shí)要求。對(duì)于軟實(shí)時(shí),可靠性要求沒(méi)那么高,即使出現(xiàn)了延遲,造成的損失可控,比如說(shuō)音頻失真,視頻不順暢。

二、已有方案

Linux 本身已經(jīng)有硬實(shí)時(shí)的方案,比如來(lái)自風(fēng)河的 RT Linux,或者西班牙一家研究所的 XtratuM + PartiKle,還有其他的比如 Xenomai,RTAI 等。另外,內(nèi)核官方還有完全搶占內(nèi)核(Preempt-RT Linux)的支持,這個(gè)在某些情況下也達(dá)到了硬實(shí)時(shí)要求,改補(bǔ)丁現(xiàn)在有OSADL維護(hù)。        

然后就是各種優(yōu)化,包括驅(qū)動(dòng)(irq, preempt disable), spin lock 等使用,中斷函數(shù)線程化,mdelay 替換為 usleep_range() 等。優(yōu)化時(shí)需要用到很多工具,比如 Ftrace, Perf, Cyclictest, Oscilloscope 等。

硬件本身的低延遲設(shè)計(jì)、可靠性設(shè)計(jì)等也會(huì)嚴(yán)重影響系統(tǒng)的實(shí)時(shí)性,比如說(shuō) ARM Cortex A/R/M 三系中的 R 就是專(zhuān)為高端嵌入式實(shí)時(shí)系統(tǒng)設(shè)計(jì)的,在中斷行為方面做了優(yōu)化。

三、Linux RT-Preempt

飛凌FET335xD工業(yè)級(jí)核心板因?yàn)槠涑錾墓I(yè)級(jí)品質(zhì)和運(yùn)行的穩(wěn)定性在工業(yè)自動(dòng)化及通訊、電力軌道交通、醫(yī)療器械等多種領(lǐng)域受到用戶(hù)的認(rèn)可。隨著市場(chǎng)產(chǎn)品競(jìng)爭(zhēng)的不斷加劇,產(chǎn)品需要多樣化的優(yōu)勢(shì)來(lái)體現(xiàn)產(chǎn)品價(jià)值。作為國(guó)內(nèi)出貨量較大的核心板廠商,飛凌嵌入式同樣需要不斷的提升自己的產(chǎn)品特色以及市場(chǎng)競(jìng)爭(zhēng)力,因?yàn)橹挥羞@樣,才能間接的使終端用戶(hù)的產(chǎn)品擁有更多的優(yōu)勢(shì)。為此,飛凌的軟件工程師成功的在FET335xD工業(yè)級(jí)核心板上移植了Linux RT-Preempt版本,使用戶(hù)在不增加成本的基礎(chǔ)上擁有了硬實(shí)時(shí)操作系統(tǒng)。

 飛凌移植的Linux RT-Preempt版本為3.2.88-RT126,擁有以下特點(diǎn):

1、保證任務(wù)處理響應(yīng)時(shí)間的確定性,線程可搶占,確保高優(yōu)先級(jí)任務(wù)的響應(yīng)時(shí)間,最快可達(dá)6μs

2、微秒級(jí)的任務(wù)切換時(shí)間與延遲,實(shí)測(cè)任務(wù)切換時(shí)間可達(dá)500μs,任務(wù)切換延遲在負(fù)載狀態(tài)下最大僅100μsposix標(biāo)準(zhǔn)的實(shí)時(shí)任務(wù)函數(shù),通用性高,可移植性行強(qiáng),具有高度兼容性

3、支持QT4.8.6,方便用戶(hù)界面開(kāi)發(fā)

4、與普通版本Linux燒寫(xiě)方式一樣,方便用戶(hù)生產(chǎn)與使用

5、開(kāi)機(jī)啟動(dòng)時(shí)間僅15秒(從上電到界面點(diǎn)亮)

 

飛凌嵌入式出品的FET335xD工業(yè)級(jí)核心板,采用TI AM3354處理器,核心板工業(yè)級(jí)標(biāo)準(zhǔn)以及雙獨(dú)立MAC千兆網(wǎng),豐富的485、CAN、GPMC等多種總線接口使此款核心板本身就很非常適合工控領(lǐng)域,現(xiàn)在支持了實(shí)時(shí)操作系統(tǒng)Linux RT-Preempt,讓FET335xD核心板在工控領(lǐng)域更具適應(yīng)性??梢哉f(shuō)用戶(hù)選擇此款核心則免費(fèi)獲得了實(shí)時(shí)操作系統(tǒng)的應(yīng)用需求,不需要花費(fèi)重金去購(gòu)買(mǎi)付費(fèi)的RTOS,也不需要自己進(jìn)行高難度的系統(tǒng)移植工作。

 

 


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

  • OK335xD開(kāi)發(fā)板

    飛凌AM335x開(kāi)發(fā)板已經(jīng)推出幾年,經(jīng)過(guò)行業(yè)檢測(cè),穩(wěn)定性得到肯定。多年行業(yè)積累,AM335x的解決方案涉及各行各業(yè),歡迎進(jìn)店咨詢(xún)。飛凌AM335x開(kāi)發(fā)板基于TI Cortex-A8 AM335x CPU設(shè)計(jì)開(kāi)發(fā),主頻800MHz,支持Linux、RTLinux。AM335x開(kāi)發(fā)板工業(yè)級(jí)寬溫,配合豐富的外設(shè)接口,適用于各種惡劣環(huán)境應(yīng)用。 了解詳情
    OK335xD開(kāi)發(fā)板
  • OK62xx-C開(kāi)發(fā)板

    AM62x 開(kāi)發(fā)板是圍繞飛凌AM62x核心板設(shè)計(jì)的獨(dú)立測(cè)試和開(kāi)發(fā)平臺(tái)。AM62x處理器由四核64位Arm -Cortex -A53微處理器 和Cortex-M4F組成。AM62x開(kāi)發(fā)板整板工業(yè)級(jí)設(shè)計(jì),并在開(kāi)發(fā)過(guò)程中進(jìn)行嚴(yán)苛的環(huán)境溫度測(cè)試、壓力測(cè)試、長(zhǎng)期穩(wěn)定性運(yùn)行測(cè)試,使AM62x可在各種嚴(yán)苛環(huán)境穩(wěn)定運(yùn)行 了解詳情
    OK62xx-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批