国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 802|回復: 0
打印 上一主題 下一主題

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

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2024-4-18 11:22:37 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
[color=rgba(0, 0, 0, 0.9)]本文帶來的是基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),Linux-RT內核的硬件GPIO輸入和輸出實時性測試及應用開發案例的分享。本次演示的開發環境如下:
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]Windows開發環境:Windows 7 64bit、Windows 10 64bit
[color=rgba(0, 0, 0, 0.9)]Linux開發環境:Ubuntu18.04.4 64bit
[color=rgba(0, 0, 0, 0.9)]虛擬機:VMware16.2.5
[color=rgba(0, 0, 0, 0.9)]U-Boot:U-Boot 2018
[color=rgba(0, 0, 0, 0.9)]Kernel:Linux-RT-4.9.170
[color=rgba(0, 0, 0, 0.9)]SDK:LinuxSDK-V2.0
[color=rgba(0, 0, 0, 0.9)]GPIO: LED(PI13)、KEY3(PH4)
[color=rgba(0, 0, 0, 0.9)]分享案例:rt_gpio_ctrl、rt_input案例
[color=rgba(0, 0, 0, 0.9)]測試工具:示波器

測試數據匯總
[color=rgba(0, 0, 0, 0.9)]基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),按照創龍科技提供的案例用戶手冊進行操作,得出如下測試結果。
[color=rgba(0, 0, 0, 0.9)]備注:測試數據與實際測試環境有關,僅供參考。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]測試結果如下表所示:
[color=rgba(0, 0, 0, 0.9)]
表1 Linux-RT GPIO輸入輸出案例測試數據
GPIO輸入延時
系統延遲
GPIO輸出延時
輸入輸出總延時
測試1
37us
9us
14us
60us
測試2
53us
9us
14us
76us
測試3
57us
9us
14us
80us
測試4
60us
9us
14us
83us
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)](1)GPIO輸入延時:通過使用示波器測量按鍵事件觸發LED電平翻轉的實際耗時結合系統延時與GPIO輸出延時得出數據;
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)](2)系統延遲:根據Linux-RT性能測試平均值得出數據;
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)](3)GPIO輸出延時:通過使用示波器測量LED電平翻轉的實際耗時得出數據。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]
圖1
表 2 Linux-RT實時性測試數據
Min Latencies
(最小值)
Avg Latencies
(平均值)
Max Latencies
(最大值)
CPU空載狀態
5us
7us
86us
CPU滿負荷狀態
5us
9us
88us
隔離CPU核心狀態
5us
9us
38us(CPU3)

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

Linux-RT實時性測試
[color=rgba(0, 0, 0, 0.9)]本次測試是使用Cyclictest延遲檢測工具測試Linux系統實時性。Cyclictest是rt-tests測試套件下的測試工具,也是rt-tests下使用最廣泛的測試工具,一般主要用來測試內核的延遲,從而判斷內核的實時性。Cyclictest主要通過反復測量并精確統計線程的實際喚醒時間,以提供有關系統的延遲信息。它可測量由硬件、固件和操作系統引起的實時系統的延遲。
[color=rgba(0, 0, 0, 0.9)]
使用Cyclictest測試系統實時性
[color=rgba(0, 0, 0, 0.9)]基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板),按照創龍科技提供的案例用戶手冊進行操作,使用Cyclictest程序測試系統實時性,得出如下測試結果。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]
圖2 Linux-RT-4.9.170內核測試結果
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]圖3 Linux-4.9.170內核測試結果
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]對比測試數據,可看到基于Linux-RT-4.9.170內核的系統的延時更加穩定,最大延時更低,系統實時性更佳。
[color=rgba(0, 0, 0, 0.9)]
T507-H核心板典型應用場景
[color=rgba(0, 0, 0, 0.9)]
圖4 T507-H核心板典型應用領域
Linux-RT應用案例的分享
[color=rgba(0, 0, 0, 0.9)]rt_gpio_ctrl案例
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]案例說明
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]通過創建一個基本的實時線程,在線程內觸發LED的電平翻轉,同時程序統計實時線程的調度延時,并通過示波器測出LED電平兩次翻轉的時間間隔。由于程序默認以最高優先級運行,為避免CPU資源被程序完全占用,導致系統被掛起,因此在程序中增加100us的延時。程序原理大致如下:
[color=rgba(0, 0, 0, 0.9)](1)在Linux-RT內核上創建、使用實時線程。
[color=rgba(0, 0, 0, 0.9)](2)實時線程中,計算出觸發LED電平翻轉的系統調度延時。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]案例測試
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]將可執行文件拷貝至評估板文件系統,并執行如下命令運行測試程序,再按"Ctrl + C"退出測試,串口終端將打印程序統計的延時數據,如下圖所示。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]Target# ./rt_gpio_ctrl 100
[color=rgba(0, 0, 0, 0.9)]
圖5
[color=rgba(0, 0, 0, 0.9)]同時使用示波器捕捉LED兩次電平翻轉之間的間隔就對應上線程調度的延遲。算出電平兩次翻轉的時間間隔為∆x = 114us,如下圖所示。由于程序中默認增加了100us的時間延時。因此,實際延時應為:114us-100us = 14us,與程序統計打印的Latency results平均值相近。
[color=rgba(0, 0, 0, 0.9)]
圖6
[color=rgba(0, 0, 0, 0.9)]rt_input案例
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]案例說明
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]通過創建一個基本的實時線程,在線程內打開input設備,并對按鍵事件進行監聽,然后觸發LED的電平翻轉,再通過示波器測量按鍵觸發到LED電平翻轉期間的實際耗時。程序原理大致如下:
[color=rgba(0, 0, 0, 0.9)](1)在Linux-RT內核上創建、使用實時線程。
[color=rgba(0, 0, 0, 0.9)](2)實時線程中對打開的input設備節點進行按鍵事件監聽,通過判斷監聽得到的按鍵事件來觸發LED的電平翻轉。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]案例測試
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]將可執行文件拷貝至評估板文件系統,并執行如下命令運行測試程序,程序運行后按下KEY3用戶按鍵點亮LED,松開按鍵后LED熄滅,再按"Ctrl + C"退出測試程序。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]Target#./rt_input /dev/input/event8
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]圖7
[color=rgba(0, 0, 0, 0.9)]
分別使用示波器探頭1測量按鍵KEY3引腳1,使用示波器探頭2測量LED。
從按鍵下降沿觸發的開始(下圖黃線)到LED上升沿觸發的完成(下圖藍線)的時間間隔,即為系統實時捕獲按鍵輸入時間并響應觸發LED電平翻轉的時間∆x,從圖中可看到∆x = 76us。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]圖8




您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区三区久久久 | 中文在线天堂网 | 免费高清资源黄网站在线观看 | 国产羞羞的视频在线观看免费 | 久久国产精彩视频 | 青久久 | 尹人香蕉| 免费在线观看一级毛片 | 欧美一级欧美一级在线播放 | 欧美日韩中文在线视频 | 日本欧美一区二区三区在线观看 | a毛片免费观看完整 | 久久曰视频| 一区二区三区久久精品 | 一区二区精品在线 | 日本高清在线观看 | 国产精品一区二区国产 | 榴莲丝瓜黄瓜草莓向日葵污苹果 | 综合网插 | 欧美交性a视频免费 | 国产成人精品免费视频 | 一日本道加勒比高清一二三 | 久久99热精品免费观看欧美 | 欧美成人www在线观看网页 | 亚洲第一香蕉视频 | 欧美另类videos高清精品 | 欧美双茎同入视频在线观看 | 国产ppp在线视频在线观看 | 亚洲毛片免费在线观看 | eeuss影院www免费 | 91精品国产免费自在线观看 | 国产免费福利体检区久久 | 视频黄页在线观看 | 久久国产亚洲偷自 | 欧美日韩一级二级三级 | 99精品国产高清一区二区麻豆 | 99色在线| 日韩不卡 | 骚五月天| 国产一区二区免费在线观看 | 97免费|