<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升級(jí)英創(chuàng)主板的實(shí)時(shí)性能

     2021-3-31     作者:黃志超         
    文章標(biāo)簽:ESM7000系列ESM6800

      為了讓英創(chuàng)更多的Linux主板能夠滿足工業(yè)應(yīng)用在實(shí)時(shí)性上的要求,我們?cè)贓SM6800H/E和ESM7000系列主板的內(nèi)核(4.9.11)基礎(chǔ)上,使用了針對(duì)該版本的RT PATCH(實(shí)時(shí)補(bǔ)?。瑢⑾到y(tǒng)升級(jí)為實(shí)時(shí)Linux系統(tǒng),讓主板能夠滿足一定的實(shí)時(shí)性需求。ESM6800H/E板載Crotex A7架構(gòu)CPU(iMX6ULL),主頻為792MHz,是一款性價(jià)比極高的工控主板。而ESM7000系列主板板載雙核Crotex A7架構(gòu)CPU(iMX7D),主頻為1GHz,是性能非常強(qiáng)勁的工控主板系列,客戶可以根據(jù)性價(jià)比以和性能來(lái)選擇符合需求的工控主板進(jìn)行開(kāi)發(fā),同時(shí)這兩個(gè)系列的主板硬件和軟件都是兼容的,方便客戶根據(jù)不同應(yīng)用需求無(wú)縫替換主板。


      實(shí)時(shí)Linux系統(tǒng)主要是提升了實(shí)時(shí)線程的響應(yīng)時(shí)間,所以對(duì)于應(yīng)用程序來(lái)說(shuō),只需要對(duì)有實(shí)時(shí)要求的線程設(shè)置實(shí)時(shí)優(yōu)先級(jí)屬性,以及設(shè)置響應(yīng)的實(shí)時(shí)線程調(diào)度策略就可以了,并沒(méi)有特殊的API函數(shù)。英創(chuàng)公司網(wǎng)站上面有專門關(guān)于設(shè)置實(shí)時(shí)線程的相關(guān)編程介紹,可以參考《移植Real Time Linux到英創(chuàng)工控主板》。本文主要介紹ESM6800和ESM7000升級(jí)實(shí)時(shí)Linux系統(tǒng)后對(duì)于實(shí)時(shí)性提升的測(cè)試實(shí)驗(yàn)。


      為了驗(yàn)證系統(tǒng)的實(shí)時(shí)性,我們采用了兩種方法來(lái)測(cè)試,第一種方法是采用實(shí)時(shí)Linux網(wǎng)站推薦的測(cè)試工具cyclictest,這個(gè)工具會(huì)先創(chuàng)建一個(gè)普通進(jìn)程,然后再根據(jù)參數(shù)創(chuàng)建實(shí)時(shí)線程,并定時(shí)喚醒和休眠實(shí)時(shí)線程,通過(guò)對(duì)比實(shí)時(shí)線程預(yù)期喚醒時(shí)間和實(shí)際喚醒時(shí)間來(lái)計(jì)算出系統(tǒng)的響應(yīng)時(shí)間。第二種方法是由GPIO中斷作為硬件事件,使用外部的方波信號(hào)作為中斷源,驅(qū)動(dòng)檢測(cè)到GPIO中斷后會(huì)喚醒用戶層的中斷處理線程(該線程已設(shè)置為實(shí)時(shí)線程),實(shí)時(shí)中斷處理線程作為對(duì)中斷事件的響應(yīng),將另一位GPIO的輸出電平反相(Toggle處理)。用示波器測(cè)量輸入的中斷信號(hào)和作為響應(yīng)的GPIO信號(hào)之間的時(shí)間延遲。


      因?yàn)橄到y(tǒng)實(shí)時(shí)性還和負(fù)載也有一定的關(guān)系,所以我們采用了空載和滿載兩種情況測(cè)試,滿載的測(cè)試條件是考慮模擬出對(duì)系統(tǒng)實(shí)時(shí)性最差的情況,即將CPU的使用率以及IO的使用率全部提升到滿載。滿載和空載是兩種相對(duì)極端的情況,最終的實(shí)時(shí)性還是應(yīng)該以實(shí)際使用的負(fù)載和運(yùn)行的程序而定,關(guān)于系統(tǒng)負(fù)載和實(shí)時(shí)性測(cè)試的相關(guān)介紹可以通過(guò)網(wǎng)站https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/test-design來(lái)了解。


      首先是第一種方法采用cyclictest工具來(lái)進(jìn)行測(cè)試,通過(guò)軟件來(lái)記錄全部數(shù)據(jù),并且可以采集大量數(shù)據(jù)來(lái)參考,結(jié)果如下:

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


      第二種方法,選用100Hz方波作為信號(hào)源,通過(guò)示波器隨機(jī)采樣的方式來(lái)選取測(cè)試數(shù)據(jù),測(cè)試結(jié)果如下:

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


      最主要關(guān)注的參數(shù)應(yīng)該是響應(yīng)時(shí)間的最大值,這個(gè)參數(shù)可以反映系統(tǒng)響應(yīng)時(shí)間的穩(wěn)定性以及能夠達(dá)到的實(shí)時(shí)性指標(biāo),因?yàn)閮蓚€(gè)表格測(cè)試的方法不同,所以兩個(gè)表格之間沒(méi)有比較的意義,應(yīng)該在表格內(nèi)部比較不同的主板和不同的系統(tǒng)之間的差異。


      第一個(gè)表格主要是測(cè)試實(shí)時(shí)線程的響應(yīng)時(shí)間,從表格中可以看到實(shí)時(shí)和非實(shí)時(shí)Linux系統(tǒng)在最小響應(yīng)時(shí)間和平均響應(yīng)時(shí)間上沒(méi)有太大的差距,而在最大響應(yīng)時(shí)間上實(shí)時(shí)Linux系統(tǒng)有明顯的提升,這也驗(yàn)證了實(shí)時(shí)補(bǔ)丁主要提升的是響應(yīng)時(shí)間的穩(wěn)定性。


      第二個(gè)表格主要是測(cè)試對(duì)于外部中斷的響應(yīng),結(jié)論和表格一是相同的,即實(shí)時(shí)補(bǔ)丁主要提升的是響應(yīng)時(shí)間的穩(wěn)定性。關(guān)于ESM7000主板的測(cè)試結(jié)果需要說(shuō)明一下,在空載的時(shí)候,非實(shí)時(shí)Linux系統(tǒng)的平均時(shí)間表現(xiàn)要比實(shí)時(shí)系統(tǒng)好一些,這是因?yàn)樵诙嗪说那闆r下,系統(tǒng)缺省把對(duì)中斷的處理均放在CPU0所致。盡管可通過(guò)手動(dòng)重新配置各個(gè)CPU核的初始任務(wù),來(lái)消除這個(gè)現(xiàn)象,但實(shí)際應(yīng)用肯定會(huì)有一定負(fù)載率的,系統(tǒng)將會(huì)根據(jù)負(fù)載,自動(dòng)均衡各CPU的任務(wù),達(dá)到表二的指標(biāo)。對(duì)這個(gè)問(wèn)題感興趣的客戶,可關(guān)注我們后續(xù)關(guān)于實(shí)時(shí)性分析的文章。


      根據(jù)上面的總結(jié),可以看到升級(jí)為實(shí)時(shí)Linux系統(tǒng)后,對(duì)于系統(tǒng)響應(yīng)時(shí)間的穩(wěn)定性有較大的提升,對(duì)系統(tǒng)實(shí)時(shí)性有一定要求的客戶,可以根據(jù)上面的測(cè)試數(shù)據(jù)來(lái)選擇主板。而對(duì)比ESM6800和ESM7000,擁有雙核CPU的ESM7000響應(yīng)時(shí)間更快,而且在實(shí)驗(yàn)中模擬的滿載情況下對(duì)響應(yīng)時(shí)間的影響較小,能夠滿足較高的實(shí)時(shí)性要求。

    文章標(biāo)簽:ESM7000系列ESM6800
    精品国产_亚洲人成在线| 国产免费伦精品一区二区三区| 中文字幕一精品亚洲无线一区| 伊人久久精品无码麻豆一区 | 国自产偷精品不卡在线| 国产精品无码一区二区三区不卡| 久久这里只精品国产99热| 国产在线精品二区赵丽颖| 国产精品臀控福利在线观看| 国产精品无码无需播放器| 午夜国产精品久久久久| 国产精品合集一区二区三区 | 97精品一区二区视频在线观看 | 国产精品一级毛片无码视频| 亚洲精品乱码久久久久久V| 无码精品A∨在线观看| 国产色精品vr一区区三区| 久久亚洲精品无码av| 久久久久久国产精品免费无码| 91麻豆精品国产| 亚洲国产婷婷综合在线精品| 亚洲AV无码精品国产成人| 91精品免费不卡在线观看| 国产伦精品一区二区三区| 一本一本久久a久久精品综合| 黑巨人与欧美精品一区 | 亚洲日韩精品无码专区网址| 国产伦精品一区二区三区四区 | 亚洲精品乱码久久久久久不卡| 精品毛片乱码1区2区3区| 久久热这里只有精品在线观看| 久久精品无码精品免费专区| 成人伊人精品色XXXX视频| 四虎精品免费永久免费视频| 好男人视频社区精品免费| 99re6这里有精品热视频| 久久久精品2019免费观看| 久久精品国产99久久99久久久| 在线观看亚洲精品国产| 精品国产高清在线拍| jizz国产精品网站|