美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 溫濕度傳感器

類型分類:
科普知識
數據分類:
溫濕度傳感器

在應用處理器上開發實時任務系統

發布日期:2022-04-26 點擊率:64

  • 關鍵詞:                                                                arm                                                                linux                                                                real-time

  • 摘要:本文概括介紹了在應用處理器上使用 Linux作為操作系統開發實時系統的解決方案。對于想要使用微處理器并且關注實時控制和決策的開發者,這可以作為入門。我們展示了使用異構多核處理的 SoC 硬件方案,以及兩個基于軟件的方法:Linux-RT Patch 和Xenomai。演示的結果并不是為了對比操作系統或者實時技術。每一種方法都具有優勢和劣勢,最終還是取決于應用場景。


  應用處理器的應用范圍越來越廣泛。系統芯片都是采用ARM?Cortex-A 正在搶占部分原來由 ARM? Cortex-M和其他微處理器設備統治的市場。這種趨勢由幾個因素造成:

  • 通常和 IoT 相關的強烈互聯需求,不僅從硬件上,也有軟件、協議以及安全相關方面

  • 深度互動界面的要求,例如多點觸控、高分辨率顯示以及豐富的圖形界面

  • 隨著SoC的量產以及新產品功能提高,SoC 的價格在下降

  作為支持上面論述的典型案例是我們消費者每天都看到產品的重新設計,從微控制器升級到微處理器。這種遷移伴隨著新的挑戰,例如設計變得越來越復雜,操作系統的抽象層也更加繁雜。使用應用處理器所帶來的復雜硬件設計的難題可以被公版參考設計以及使用現成的計算機模塊/系統模塊或者單板電腦所克服。在操作系統層面,嵌入式Linux系統已經在行業中得到廣泛應用。大量的開源工具簡化功能豐富的復雜嵌入式系統開發。如果使用微控制器,類似的開發工作將變得復雜和耗時。盡管有著諸多的好處,使用類似Linux 操作系統仍舊產生了不少的質疑和缺乏信心,熱別是針對實時控制應用。

  開發人員通常的做法是將實時任務和一般任務分攤到不同的處理器上。因此,類似與 Cortex-A的處理器主要用于多媒體和聯網功能,而微控制器則仍然被用作處理實時、關鍵性任務。本文旨在為開發人員提供一些建議,當他們需要使用應用處理器完成實時系統的時候。

  測試實時性能

  現在有許多 benchmark工具可以用于評估軟件系統的實時性能,然而我們想要快速地測試下面提到的方法是否可以真的提高系統性能。為了看到結果,我們測量由嵌入系統的標準GPIO 產生的方波抖動。用這種方法,我們可以簡單、快速地分析實時性能,并提供初步的優化建議。我們開發了一個以2.5KHz(200μsHigh / 200μs Low) 頻率翻轉 GPIO的應用。用示波器連接 GPIO,測試方波和輸出時序。

Jitter Measurement

圖1:抖動測試

  標準 Linux 測試結果如圖2所示。翻轉 GPIO的應用配置為實時任務(SCHED_RR),內核配置了Voluntary Kernel Preemption(CONFIG_PREEMPT_VOLUNTARY)。

Histogram of the square wave generated using the Standard Linux Kernel Configuration

圖2:使用標準 Linuxe內核配置的方波抖動分布圖

  測試結果表面只有 92% 的波形在 ±10%的誤差以內。最差的測量結果顯示延時超過 15ms,逾 3700% 的誤差。

  Real-Time Linux

  本文中我們采用第一個方式是軟件相關的。Linux 并不是一個實時操作系統,但是許多項目在很大程度上提高了 Linux 的決策能力和實時性。其中一個項目是Real-Time Linux project。Real-Time Linux是一系列的補丁(PREEMPT_RT),為 Linux 內核提供新的強占機制,以及其他的功能和工具,使其更加適合于實時任務。你可以在其官方 Real-Time Linux Wiki (之前在這里)上找到應用 PREEMPT_RT 補丁和應用開發的文檔。

  我們在 ColibriiMX6DL 上使用PREEMPT_RT 來驗證實時性能的改進。在 Toradex Linux 鏡像中部署PREEMPT_RT 補丁的說明可以在 ToradexDeveloper Center 上找到。

  下面的圖表(圖3)展示了使用 PREEMPT_RT 補丁的 Linux 的實時強占測試結果。結果表明只有0,002%的波形超過±10% 的誤差。最差的結果(0,106us)也只有 25% 的誤差,相比于標準 Linux(圖2)這是一個很大的提高。

Histogram of the square wave generated using the Preempt-RT kernel

圖3:使用 Preempt-RT內核配置方波抖動分布圖

  使用 PREEMPT_RT 補丁的軟件方案 CodesysSolutions。其依靠 Real-Time Linux 內核以及 OSADL,部署軟件 PLC方案,這已經在自動化產業中得到廣泛的使用。你可以在這里找到更多關于在Toradex 計算機模塊上運行 Codesys 的信息,包括演示 demo。

  Xenomai

  Xenomai 是另外一個實現 Linux 實時系統的框架。Xenomai 通過提在 Linux 內核提供一個co-kernel 而實現。co-kernel 處理實時任務,并擁有比標準 Linux 更高的優先級。在這里你可以了解更多信息。為了使用 Xenomai 的實時特性,你必須使用實時 APIs(libcobalt)來連接用戶應用和 Cobalt 內核,后者確保任務的實時性能。

Dual Core Xenomai Configuration

圖4:Dual Core Xenomai配置

  關于安裝Xenomai 到你的設備的相關文檔可以在 Xenomai 網站找到:www.xenomai.org。除此之外,還有許多嵌入式硬件可以使用,詳見: 參考硬件列表(包括NXP? i.MX SoC 系列)

我們再次使用方波測試 Xenomai 在 i.MX6 SoC 的性能。使用 Toradex 的 Colibri iMX6DL作為測試設備。我們采用和上面提到的 Real-Time Linux 同樣的方式來測試。測試所用的部分代碼如下所示,使用 XenomaiAPI。

void blink(void *arg __attribute__((__unused__)))
{
  int iomask = 0;
  rt_task_set_periodic(NULL, TM_NOW, TIMESLEEP);
  while(1)
{
          rt_task_wait_period(NULL);
  if(iomask) SET_G35;
  else CLR_G35;
          iomask = 1 - iomask;
        }
}
int main(void)
{  

    rt_task_create(&blink_task, "blinkLed", 0, 99, 0);  
    rt_task_start(&blink_task, &blink, NULL);
    
    getchar();
    rt_task_delete(&blink_task);

    return 0;
}

  下圖(圖5)是 Xenomai 的測試性能。同樣,實時解決方案相比于標準 Linux有著巨大的優勢。值得注意的是,最差的結果也在 ±10% 的誤差以內。

Histogram of the square wave generated using the Xenomai

圖5:使用 Xenomai的方波抖動分布圖

  異構多核處理

  異構多核處理(HMP)是硬件解決方案。諸如 NXP i.MX7 系列、 NXP i.MX6SoloX 和即將面市的 NXPi.MX8 系列 提供了不同功能的內核。例如我們看 i.MX7S,你會發現一個具有Cortex-A7@800MHz 和 Cortex-M4@200MHz 的雙核處理器。基本的目的是用戶界面和高速互聯由類似 Linux的操作系統在 Cortex-A 運行,與此同時,控制任務由類似 FreeRTOS 的實時操作系統在 Cortex-M上執行。兩個核都能夠訪問內存和外設,在定義每個核上運行的任務時保持靈活性。參考圖6。

Histogram of the square wave generated using the Standard Linux Kernel Configuration

圖6:i.MX7 框圖,來源技術手冊

  使用 HMP 的優勢:

  • 原來在微控制器上的軟件可以被方便地重新使用

  • 簡化固件(M4 核)更新,固件在 Cortex-A OS 的文件系統作文一個普通文件

  • 提高內核選擇外設的靈活性。因為這是軟件定義的,后續的更改無需硬件設計修改

  更多關于基于 HMP 處理器應用開發的信息請參考下面的內容:

  • 文章: A Balancing Robot Leveraging the Heterogeneous AsymmetricArchitecture of i.MX 7 with FreeRTOS and Qt

  • 文章:FreeRTOSon the Cortex-M4 of a Colibri iMX7

  • 網絡研討會議:Introducingthe i.MX7 System on Chip

  Toradex、Antimicro 和 The Qt Company 聯合開發了一個機器人來展示這個概念。機器人的名字是 TAQ,采用Toradex計算機模塊 ColibriiMX7 的自平衡機器人。用戶界面在 Linux 中使用 Qt 構建,運行在 Cortex-A7 上,平衡和電機控制則由Cortex-M4 完成。雙核之間的通信實現了遠程控制和面部動畫,正如視頻中演示的一樣.

  圖7 是 Colibri iMX7 的測試結果。方波由運行在 i.MX7M4 上的 FreeRTOS 生成。和預計的一樣,測試結果好于上面其他所有的方法。

Histogram of the square wave generated using the Heterogeneous Multicore Architecture

圖7:使用異構多核架構的方波抖動分布圖
方波由運行在 M4 上的 FreeRTOS 生成。

  總結

  本文概括介紹了在應用處理器上使用 Linux作為操作系統開發實時系統的解決方案。對于想要使用微處理器并且關注實時控制和決策的開發者,這可以作為入門。我們展示了使用異構多核處理的 SoC 硬件方案,以及兩個基于軟件的方法:Linux-RT Patch 和Xenomai。演示的結果并不是為了對比操作系統或者實時技術。每一種方法都具有優勢和劣勢,最終還是取決于應用場景。

  文章主要為了說明幾種現成的解決方案可以在應用處理器上使用 Linux 實現可靠的實時應用。


下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        欧美日韩免费视频| 日韩一区不卡| 欧美日韩国产综合视频在线观看| 国产精品国产三级欧美二区 | 国产精品久久久久四虎| 欧美喷潮久久久xxxxx| 色综合网色综合| 精品在线视频一区二区三区| 精久久久久久久久久久| 日韩影视精彩在线| 亚洲不卡av一区二区三区| 亚洲一区二区三区中文字幕| 亚洲一区二区三区免费视频| 亚洲大片在线观看| 美腿丝袜一区二区三区| 亚洲欧美国产三级| 亚洲成人777| 免费成人美女在线观看.| 日韩精品一级二级 | 成人亚洲一区二区一| 国产91精品露脸国语对白| 国产成人自拍网| 99国产精品国产精品毛片| 91色乱码一区二区三区| 国产日产精品一区二区三区四区| 国产福利久久| 热re99久久精品国产99热 | 免费不卡亚洲欧美| 日韩欧美第二区在线观看| 在线观看一区日韩| 日本一区二区三区免费乱视频| 久久久精品天堂| 国产精品国产精品国产专区不片| 亚洲一区二区3| 久99久精品视频免费观看| 国产精品99久久久久久宅男| 91视频.com| 欧美在线播放一区二区| 欧美性欧美巨大黑白大战| 欧美一级理论片| 欧美成人激情免费网| 国产精品久久夜| 亚洲成人av一区| 国产在线观看一区二区| 成人美女在线观看| 精品日本一区二区三区| 这里只有精品66| 欧美成人在线直播| 亚洲精品一二三区| 精品亚洲成a人| 国产精品一区二区三区在线观| 日韩精品资源| 欧美一级生活片| 亚洲精品免费一二三区| 精品一区二区日韩| 成人国产在线观看| 爱情岛论坛亚洲入口| 亚洲成人在线视频网站| 精品国产一区二区三区久久久蜜月 | 欧美高清hd18日本| 亚洲国产激情av| 麻豆专区一区二区三区四区五区| 国产宾馆实践打屁股91| 久久精品国产美女| 欧美日韩另类一区| 中文字幕亚洲一区二区va在线| 欧美aaa在线| 国产成人亚洲欧美| 欧美精品一级二级三级| 亚洲色图欧美偷拍| 国产91在线观看丝袜| 视频一区二区三| 91麻豆精品国产91久久久久久 | 日韩欧美精品一区二区三区经典| 欧美一区二区三区视频免费播放 | 国产精品成人观看视频免费| 91黄视频在线观看| 中文字幕av资源一区| 精品一区二区三区在线观看| 国产精品久久久久免费| 欧美夫妻性生活| 亚洲成人激情av| 91九色在线免费视频| 日本精品一级二级| 亚洲伦在线观看| 99在线观看视频| 欧洲一区二区av| 一区二区免费视频| 国产精品初高中精品久久| 欧美一区二区三区免费在线看 | 久久久久久艹| 久久综合狠狠综合久久激情| 日韩高清不卡一区| 日韩女优中文字幕| 国产精品乱人伦一区二区| 成人av资源在线| 欧美日韩国产三级| 日本在线不卡视频一二三区| 黑人中文字幕一区二区三区| 久久综合色鬼综合色| 国产精品资源站在线| 91久久人澡人人添人人爽欧美 | 久久日韩精品一区二区五区| 国产激情一区二区三区| 在线观看免费亚洲| 日韩精品欧美成人高清一区二区| 97精品国产97久久久久久久久久久久| 91精品国产综合久久久蜜臀图片| 精品在线你懂的| 欧洲av一区二区嗯嗯嗯啊| 性做久久久久久免费观看欧美| 亚欧洲精品在线视频免费观看| 天天色天天操综合| 色婷婷激情一区二区三区| 蜜臀久久99精品久久久久宅男| 欧美性猛交一区二区三区精品 | aa级大片欧美| 久久精品视频一区| 国产在线欧美日韩| 亚洲欧美一区二区三区久本道91| 欧美精品一区二区视频| 亚洲成人av中文| 欧美日韩1区2区| 成人h动漫精品| 最新国产成人在线观看| 亚洲国产欧美日韩| 韩国三级中文字幕hd久久精品| 日韩精品中文字幕在线一区| 欧美电影精品一区二区| 99视频在线观看一区三区| 国产欧美视频一区二区三区| 日本在线观看不卡| 另类的小说在线视频另类成人小视频在线 | 国产成人亚洲精品青草天美| 欧美成人r级一区二区三区| 91麻豆国产在线观看| 欧美主播一区二区三区| 成人网在线免费视频| 欧美国产禁国产网站cc| 日韩中文字幕一区二区| 国产综合久久久久久鬼色| 久久久综合九色合综国产精品| 久久久免费看| 精品一区二区三区免费观看| 久久精品欧美一区二区三区麻豆| 日韩高清国产精品| 国产精品一区二区三区四区| 中文av一区二区| 色综合色综合色综合| caoporen国产精品视频| 亚洲一区二区三区四区不卡| 欧美一区二区私人影院日本| 久久久久久亚洲精品不卡4k岛国 | 黑人中文字幕一区二区三区| 日本网站在线观看一区二区三区| 日韩欧美在线1卡| 国严精品久久久久久亚洲影视| 日本特黄久久久高潮| 久久精品夜夜夜夜久久| 一本大道久久a久久综合| 不卡在线视频中文字幕| 午夜久久电影网| 久久精品视频免费| 日本伦理一区二区| 国产一区自拍视频| 国产精品2024| 一区二区三区中文在线观看| 欧美精品久久一区| 日韩免费av一区二区三区| 国产99久久久国产精品潘金网站| 日韩一区有码在线| 欧美一级一级性生活免费录像| 婷婷精品国产一区二区三区日韩| 99在线视频精品| 男男视频亚洲欧美| 3d成人h动漫网站入口| 神马影院午夜我不卡| 91免费精品国自产拍在线不卡| 日本三级亚洲精品| 亚洲乱码中文字幕综合| 欧美成人一区二区三区片免费 | 欧美亚洲高清一区二区三区不卡| 加勒比在线一区二区三区观看 | 一区在线电影| 国产一区二区自拍| 国产麻豆视频一区二区| 亚洲一区二区三区在线看| 中文字幕乱码久久午夜不卡 | 日本不卡一二三区| 成人av免费电影| 国产jizzjizz一区二区| 蜜臀国产一区二区三区在线播放| 亚洲欧美日韩国产成人精品影院 | 欧美一区二区日韩| 在线一区二区观看| 一本久道久久综合| 欧美日韩亚洲在线| 精品亚洲欧美日韩| www.成人av.com| av成人午夜|