關于Tina和AI-Demo的開發,可以先參考下面兩篇博客:
Tina方案開發一探_tugouxp的專欄-CSDN博客1.編譯,打包2.燒錄:選擇量產卡:燒錄成功:3.將卡插入平臺,BROM卡啟動程式將加載SD卡中的韌體,至于最終是卡量產,開始卡啟動,則取決于韌體本身的定義,4.結束!https://blog.csdn.net/tugouxp/article/details/119413357?spm=1001.2014.3001.5502V833/V831目標檢測demo方案開發_tugouxp的專欄-CSDN博客專案需要在V833平臺上開發一個人形檢測的功能用例, 大概框架如下:一路sensor影像經過四路VIPP縮放操作后,送給四個不同應用,分別是H265編碼存盤,LCD預覽以及以及NPU人形檢測,還有一路照片抓拍,NPU人形檢測原理如下:NPU執行緒抓取352*198(VIPP支持的輸出大小)像素,格式為NV21的YUV原始幀資料,喂給人形檢測演算法網路,得到類別和坐標資料后,反饋給VIPP1 預覽通道畫框,這樣的設計方案包含一個問題,NPU這邊獲得幀并進行網路推理得到坐標結果并反饋給VI.
https://blog.csdn.net/tugouxp/article/details/120328633?spm=1001.2014.3001.5502
之前的 ai-demo 輸入輸出控制做的比較粗糙,demo的啟動和退出是通過控制臺輸入啟動命令以及ctrl+c的方式進行的.體驗比較差,比較好的一種方式是通過demo板的按鍵進行事件捕獲和處理,接下來就介紹tina上是如何實作的,
對于Linux上的輸入輸出,內核是有一套厚厚的框架的,但是暴露給用戶態的非常簡單,只有/dev/input/目錄下的幾個設備節點而已,
比如,在ubuntu上,mount,keyboard, joystick等外設對用戶程式來講就是/dev/input/下的這幾個設備節點而已:

Tina也是Linux,所以這方面沒有區別:

經過測驗,在tina上./dev/input/event1節點是對應keyboard gpadc按鍵的設備節點,在ai-demo中創建一個獨立的keyboard執行緒,輪詢keyboard獲取按鍵資訊:



keyboard執行緒處理


根據訊息源的不同,按鍵事件分成很多種,在linux內核中的分類如下,上面kb執行緒的處理也完全按照這幾個事件分門別類的處理:

測驗驗證
運行ai demo,程序中不斷按小鍵盤,輸出如下,達到預期,接下來就可以定義應用的行為了~!

UBUNTU系統下的按鍵輸入
UBUNTU上的輸入設備有很多,我們用TREE命令找到具體的設備和設備節點之間的聯系,

/dev/input/event4是鍵盤設備,我們驗證一下:

滑鼠設備是/dev/input/event3

結束~!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/432143.html
標籤:AI
上一篇:【數字信號處理】卷積編程實作 ( 卷積計算原理 | 卷積公式計算 | 使用 matlab 計算卷積 | 使用 C 語言實作卷積計算 )
