<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

實測14us,Linux-RT實時性能及開發案例分享—基于全志T507-H國產平臺

Tronlong創龍科技 ? 來源:Tronlong創龍科技 ? 作者:Tronlong創龍科技 ? 2024-04-18 09:34 ? 次閱讀

本文帶來的是基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),Linux-RT內核的硬件GPIO輸入和輸出實時性測試及應用開發案例的分享。本次演示的開發環境如下:

Windows開發環境:Windows 7 64bit、Windows 10 64bit

Linux開發環境:Ubuntu18.04.4 64bit

虛擬機:VMware16.2.5

U-Boot:U-Boot 2018

Kernel:Linux-RT-4.9.170

SDK:LinuxSDK-V2.0

GPIO: LED(PI13)、KEY3(PH4)

分享案例:rt_gpio_ctrl、rt_input案例

測試工具:示波器

測試數據匯總

基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),按照創龍科技提供的案例用戶手冊進行操作,得出如下測試結果。

備注:測試數據與實際測試環境有關,僅供參考。

測試結果如下表所示:

表1Linux-RT GPIO輸入輸出案例測試數據

GPIO輸入延時 系統延遲 GPIO輸出延時 輸入輸出總延時
測試1 37us 9us 14us 60us
測試2 53us 9us 14us 76us
測試3 57us 9us 14us 80us
測試4 60us 9us 14us 83us


(1)GPIO輸入延時:通過使用示波器測量按鍵事件觸發LED電平翻轉的實際耗時結合系統延時與GPIO輸出延時得出數據;

(2)系統延遲:根據Linux-RT性能測試平均值得出數據;

(3)GPIO輸出延時:通過使用示波器測量LED電平翻轉的實際耗時得出數據。

wKgaomYgeGSAbSXsAADEJ4pJ-Fc297.png

圖1

表 2Linux-RT實時性測試數據

Min Latencies
(最小值)
Avg Latencies
(平均值)
Max Latencies
(最大值)
CPU空載狀態 5us 7us 86us
CPU滿負荷狀態 5us 9us 88us
隔離CPU核心狀態 5us 9us 38us(CPU3)

根據不隔離CPU核心、隔離CPU核心三種狀態的測試結果可知:當程序指定至隔離的CPU3核心上運行時,Linux系統延遲最低,可有效提高系統實時性。故推薦對實時性要求較高的程序(功能)指定至T507-H隔離的CPU核心運行。

Linux-RT實時性測試

本次測試是使用Cyclictest延遲檢測工具測試Linux系統實時性。Cyclictest是rt-tests測試套件下的測試工具,也是rt-tests下使用最廣泛的測試工具,一般主要用來測試內核的延遲,從而判斷內核的實時性。Cyclictest主要通過反復測量并精確統計線程的實際喚醒時間,以提供有關系統的延遲信息。它可測量由硬件、固件和操作系統引起的實時系統的延遲。


使用Cyclictest測試系統實時性

基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),按照創龍科技提供的案例用戶手冊進行操作,使用Cyclictest程序測試系統實時性,得出如下測試結果。


wKgZomYgeHuAUTfhAAAdkpbHES8528.png

圖2Linux-RT-4.9.170內核測試結果

wKgaomYEx1SAfpRdAAAeO1sCny8404.png

圖3Linux-4.9.170內核測試結果


對比測試數據,可看到基于Linux-RT-4.9.170內核的系統的延時更加穩定,最大延時更低,系統實時性更佳。


T507-H核心板典型應用場景

Linux-RT應用案例的分享

rt_gpio_ctrl案例


案例說明


通過創建一個基本的實時線程,在線程內觸發LED的電平翻轉,同時程序統計實時線程的調度延時,并通過示波器測出LED電平兩次翻轉的時間間隔。由于程序默認以最高優先級運行,為避免CPU資源被程序完全占用,導致系統被掛起,因此在程序中增加100us的延時。程序原理大致如下:

(1)在Linux-RT內核上創建、使用實時線程。

(2)實時線程中,計算出觸發LED電平翻轉的系統調度延時。


案例測試


將可執行文件拷貝至評估板文件系統,并執行如下命令運行測試程序,再按"Ctrl + C"退出測試,串口終端將打印程序統計的延時數據,如下圖所示。


Target# ./rt_gpio_ctrl 100


wKgaomYgeJqANcH_AAAW0ZdDzow199.png

圖5

同時使用示波器捕捉LED兩次電平翻轉之間的間隔就對應上線程調度的延遲。算出電平兩次翻轉的時間間隔為?x = 114us,如下圖所示。由于程序中默認增加了100us的時間延時。因此,實際延時應為:114us-100us = 14us,與程序統計打印的Latency results平均值相近。


wKgaomYgeKOAGDD-AAL4XcXnhOc035.png

圖6

rt_input案例


案例說明


通過創建一個基本的實時線程,在線程內打開input設備,并對按鍵事件進行監聽,然后觸發LED的電平翻轉,再通過示波器測量按鍵觸發到LED電平翻轉期間的實際耗時。程序原理大致如下:

(1)在Linux-RT內核上創建、使用實時線程。

(2)實時線程中對打開的input設備節點進行按鍵事件監聽,通過判斷監聽得到的按鍵事件來觸發LED的電平翻轉。


案例測試


將可執行文件拷貝至評估板文件系統,并執行如下命令運行測試程序,程序運行后按下KEY3用戶按鍵點亮LED,松開按鍵后LED熄滅,再按"Ctrl + C"退出測試程序。


Target#./rt_input /dev/input/event8


wKgZomYgeKuAEUnBAAASxY9FEY0292.png

圖7


分別使用示波器探頭1測量按鍵KEY3引腳1,使用示波器探頭2測量LED。

從按鍵下降沿觸發的開始(下圖黃線)到LED

上升沿觸發

的完成(下圖藍線)的時間間隔,即為系統實時捕獲按鍵輸入時間并響應觸發LED電平翻轉的時間?x,從圖中可看到?x = 76us。

wKgZomYgeLCAH2B5AAAp1Q5d41Q295.png

圖8


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 示波器
    +關注

    關注

    111

    文章

    5812

    瀏覽量

    182001
  • Linux
    +關注

    關注

    87

    文章

    11004

    瀏覽量

    206866
  • GPIO
    +關注

    關注

    16

    文章

    1141

    瀏覽量

    50678
  • 全志
    +關注

    關注

    24

    文章

    223

    瀏覽量

    52688
收藏 人收藏

    評論

    相關推薦

    TLT507-Linux-RT應用開發案

    TLT507-Linux-RT應用開發案
    的頭像 發表于 01-26 09:46 ?394次閱讀
    TLT<b class='flag-5'>507-Linux-RT</b>應用<b class='flag-5'>開發案</b>例

    實測14us,Linux-RT實時性能及開發案例分享—基于T507-H國產平臺

    本文帶來的是基于T507-H(硬件平臺:創龍科技TLT507-EVM評估板),Linux-RT
    發表于 04-18 10:21

    基于A40i開發板——Linux-RT內核應用開發教程(1)

    節——Linux-RT內核簡介、Linux系統實時性測試,歡迎各位閱讀!本期用到的案例板子是創龍科技旗下的A40i工業級別開發板,是基于
    發表于 04-19 15:17

    A40i開發板——Linux-RT內核應用開發教程(2)

    rt_input案例 15本文為Linux-RT內核應用開發教程的第二章節——rt_gpio_ctrl案例,歡迎各位閱讀!本期用到的案例板子是創龍科技旗下的A40i工業級別
    發表于 04-19 15:22

    基于A40i開發板——Linux-RT內核應用開發教程(3)

    節——rt_input案例,歡迎各位閱讀!本期用到的案例板子是創龍科技旗下的A40i工業級別開發板,是基于科技A40i處理器設計,4核ARM Cortex-A7的高
    發表于 04-19 15:33

    第一視角體驗搭載T507-H開發板MYD-YT507H開發

    如今車規級芯片市場潛力巨大,需求旺盛,芯片都在逐漸走向國產化。本文要介紹的主角是MYD-YT507H開發板,該開發板是米爾科技結合
    發表于 09-19 10:04

    國產工業CPU平臺,米爾基于T507-H開發板的實時性分析與測試

    MYC-YT507H核心板購買鏈接:https://item.hqchip.com/1020046774.html科技T5系列是一個高性能
    發表于 02-08 14:12

    米爾推出基于T507-H的MYC-YT507H核心板

    核心板的主站控制器MYC-YT507H核心板,采用國產車規級處理器T507-H,具有最嚴格的質量標準、超高
    發表于 02-14 15:19

    國產!科技T507-H工業核心板( 4核ARM Cortex-A5)規格書

    1 核心板簡介創龍科技 SOM-TLT507 是一款基于科技 T507-H 處理器設計的 4 核 ARM Cortex-A 53 全國產
    發表于 05-03 23:33

    99元國產ARM平臺+實時系統,給工業帶來何種意義?

    T3、A40i、T113-i等。 國產平臺T11
    發表于 05-03 23:39

    國產!科技T507-H工業開發板( 4核ARM Cortex-A5)規格書

    1 評估板簡介創龍科技TLT507-EVM 是一款基于科技T507-H 處理器設計的4 核ARM Cortex-A53 國產工業評估板,
    發表于 05-03 23:41

    科技T507-H工業核心板規格書(4核ARM Cortex-A53,主頻1.416GHz)

    1 核心板簡介創龍科技SOM-TLT507是一款基于科技T507-H處理器設計的4核ARM Cortex-A53全國產工業核心板,主頻高
    發表于 06-19 16:04

    【資料分享】科技T507-H工業核心板規格書

    1 核心板簡介 創龍科技SOM-TLT507是一款基于科技T507-H處理器設計的4核ARM Cortex-A53全國產工業核心板,主
    發表于 08-07 17:08

    【資料分享】科技T507-H開發板規格書

    ;(4)協助正確編譯與運行所提供的源代碼;(5)協助進行產品二次開發;(6)提供長期的售后服務。 10 增值服務主板定制設計核心板定制設計嵌入式軟件開發項目合作開發技術培訓 更多關于
    發表于 08-08 16:28

    基于全志T507-HLinux-RT + Igh EtherCAT主站案例分享

    本文將為各位工程師演示全志T507-H工業評估板(TLT507-EVM)基于IgH EtherCAT控制伺服電機方法,生動說明Linux-RT + Igh EtherCAT的強大之處! ? 同時
    的頭像 發表于 03-28 09:35 ?195次閱讀
    基于全志<b class='flag-5'>T507-H</b>的<b class='flag-5'>Linux-RT</b> + Igh EtherCAT主站案例分享
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>