<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • RT Linux升級英創主板的實時性能

     2021-3-31     作者:黃志超         
    文章標簽:ESM7000系列ESM6800

      為了讓英創更多的Linux主板能夠滿足工業應用在實時性上的要求,我們在ESM6800H/E和ESM7000系列主板的內核(4.9.11)基礎上,使用了針對該版本的RT PATCH(實時補丁),將系統升級為實時Linux系統,讓主板能夠滿足一定的實時性需求。ESM6800H/E板載Crotex A7架構CPU(iMX6ULL),主頻為792MHz,是一款性價比極高的工控主板。而ESM7000系列主板板載雙核Crotex A7架構CPU(iMX7D),主頻為1GHz,是性能非常強勁的工控主板系列,客戶可以根據性價比以和性能來選擇符合需求的工控主板進行開發,同時這兩個系列的主板硬件和軟件都是兼容的,方便客戶根據不同應用需求無縫替換主板。


      實時Linux系統主要是提升了實時線程的響應時間,所以對于應用程序來說,只需要對有實時要求的線程設置實時優先級屬性,以及設置響應的實時線程調度策略就可以了,并沒有特殊的API函數。英創公司網站上面有專門關于設置實時線程的相關編程介紹,可以參考《移植Real Time Linux到英創工控主板》。本文主要介紹ESM6800和ESM7000升級實時Linux系統后對于實時性提升的測試實驗。


      為了驗證系統的實時性,我們采用了兩種方法來測試,第一種方法是采用實時Linux網站推薦的測試工具cyclictest,這個工具會先創建一個普通進程,然后再根據參數創建實時線程,并定時喚醒和休眠實時線程,通過對比實時線程預期喚醒時間和實際喚醒時間來計算出系統的響應時間。第二種方法是由GPIO中斷作為硬件事件,使用外部的方波信號作為中斷源,驅動檢測到GPIO中斷后會喚醒用戶層的中斷處理線程(該線程已設置為實時線程),實時中斷處理線程作為對中斷事件的響應,將另一位GPIO的輸出電平反相(Toggle處理)。用示波器測量輸入的中斷信號和作為響應的GPIO信號之間的時間延遲。


      因為系統實時性還和負載也有一定的關系,所以我們采用了空載和滿載兩種情況測試,滿載的測試條件是考慮模擬出對系統實時性最差的情況,即將CPU的使用率以及IO的使用率全部提升到滿載。滿載和空載是兩種相對極端的情況,最終的實時性還是應該以實際使用的負載和運行的程序而定,關于系統負載和實時性測試的相關介紹可以通過網站https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/test-design來了解。


      首先是第一種方法采用cyclictest工具來進行測試,通過軟件來記錄全部數據,并且可以采集大量數據來參考,結果如下:

    主板型號ESM6800ESM7000
    CPU信息單核Cortex-A7 主頻792MHz雙核Cortex-A7 主頻1GHz
    操作系統Linux-4.9.11RT Linux-4.9.11Linux-4.9.11RT Linux-4.9.11
    空載喚醒延時最小值(us)17us15us8us8us
    空載喚醒延時最大值(us)1662us119us66us54us
    空載喚醒延時平均值(us)28us27us13us12us
    滿載喚醒延時最小值(us)29us28us10us10us
    滿載喚醒延時最大值(us)2167us161us1946us62us
    滿載喚醒延時平均值(us)82us70us33us22us


      第二種方法,選用100Hz方波作為信號源,通過示波器隨機采樣的方式來選取測試數據,測試結果如下:

    主板型號ESM6800ESM7000
    CPU信息單核Cortex-A7 主頻792MHz雙核Cortex-A7 主頻1GHz
    操作系統Linux-4.9.11RT Linux-4.9.11Linux-4.9.11RT Linux-4.9.11
    空載中斷延時最小值(us)25us65us20us25us
    空載中斷延時最大值(us)400us180us85us115us
    空載中斷延時平均值(us)38us80us70us80us
    滿載中斷延時最小值(us)80us120us25us30us
    滿載中斷延時最大值(us)1800us500us2000us90us
    滿載中斷延時平均值(us)145us165us60us60us


      最主要關注的參數應該是響應時間的最大值,這個參數可以反映系統響應時間的穩定性以及能夠達到的實時性指標,因為兩個表格測試的方法不同,所以兩個表格之間沒有比較的意義,應該在表格內部比較不同的主板和不同的系統之間的差異。


      第一個表格主要是測試實時線程的響應時間,從表格中可以看到實時和非實時Linux系統在最小響應時間和平均響應時間上沒有太大的差距,而在最大響應時間上實時Linux系統有明顯的提升,這也驗證了實時補丁主要提升的是響應時間的穩定性。


      第二個表格主要是測試對于外部中斷的響應,結論和表格一是相同的,即實時補丁主要提升的是響應時間的穩定性。關于ESM7000主板的測試結果需要說明一下,在空載的時候,非實時Linux系統的平均時間表現要比實時系統好一些,這是因為在多核的情況下,系統缺省把對中斷的處理均放在CPU0所致。盡管可通過手動重新配置各個CPU核的初始任務,來消除這個現象,但實際應用肯定會有一定負載率的,系統將會根據負載,自動均衡各CPU的任務,達到表二的指標。對這個問題感興趣的客戶,可關注我們后續關于實時性分析的文章。


      根據上面的總結,可以看到升級為實時Linux系統后,對于系統響應時間的穩定性有較大的提升,對系統實時性有一定要求的客戶,可以根據上面的測試數據來選擇主板。而對比ESM6800和ESM7000,擁有雙核CPU的ESM7000響應時間更快,而且在實驗中模擬的滿載情況下對響應時間的影響較小,能夠滿足較高的實時性要求。

    文章標簽:ESM7000系列ESM6800
    a级国产精品片在线观看| 久久只这里是精品66| 亚洲国产成人乱码精品女人久久久不卡| 5555国产在线观看精品| 国产午夜精品一区二区三区不卡| 麻豆国产VA免费精品高清在线 | 国产产在线精品亚洲AAVV| 精品无码成人片一区二区98 | 久久精品国产精品亚洲精品| 精品在线视频一区| 少妇AV射精精品蜜桃专区| 亚洲av午夜精品无码专区| 亚洲国产精品无码久久久秋霞2 | 色噜噜亚洲精品中文字幕| 国产91精品久久久久久久| 亚洲精品国产摄像头| 国产伦精品一区二区三区女| 99re热这里只有精品| 中文无码久久精品| 国产精品毛片无码| 凹凸69堂国产成人精品视频| 青青青国产精品手机在线观看| 一区国产传媒国产精品| 亚洲一区精品视频在线| 久久精品国产亚洲av水果派 | 亚洲精品成人无限看| 久久精品国产精品亚洲艾草网美妙| 国产AV一区二区精品凹凸| 国产福利精品视频| 精品国产三级a∨在线观看| 一本色道久久综合亚洲精品蜜桃冫 | 国产精品视频一区国模私拍| 国产麻豆精品原创| 99在线精品国自产拍中文字幕| 7m精品福利视频导航| 久久er99热精品一区二区| 97精品人人妻人人| 91精品国产福利在线观看| 在线精品视频播放| 91精品免费在线观看| 国产精品午夜剧场|