高通平台直接通過adb控制GPIO電平

2021-09-24 16:27:40 字數 1946 閱讀 2451

首先,看看系統中有沒有「/sys/class/gpio」這個資料夾。如果沒有請在編譯核心的時候加入   device drivers-> gpio support ->/sys/class/gpio/… (sysfs inte***ce)。

/sys/class/gpio 的使用說明:

gpio_operation 通過/sys/檔案介面操作io埠 gpio到檔案系統的對映

◇  控制gpio的目錄位於/sys/class/gpio

◇  /sys/class/gpio/export檔案用於通知系統需要匯出控制的gpio引腳編號

◇  /sys/class/gpio/unexport 用於通知系統取消匯出

◇  /sys/class/gpio/gpiochipx目錄儲存系統中gpio暫存器的資訊,包括每個暫存器控制引腳的起始編號base,暫存器名稱,引腳總數 匯出乙個引腳的操作步驟

◇  首先計算此引腳編號,引腳編號 = 控制引腳的暫存器基數 + 控制引腳暫存器位數

◇  向/sys/class/gpio/export寫入此編號,比如12號引腳,在shell中可以通過以下命令實現,命令成功後生成/sys/class/gpio/gpio12目錄,如果沒有出現相應的目錄,說明此引腳不可匯出

◇  direction檔案,定義輸入輸入方向,可以通過下面命令定義為輸出。direction接受的引數:in, out, high, low。high/low同時設定方向為輸出,並將value設定為相應的1/0

◇  value檔案是埠的數值,為1或0

幾個例子:

1. 匯出

/sys/class/gpio# echo 44 > export

2. 設定方向

/sys/class/gpio/gpio44# echo out > direction

3. 檢視方向

/sys/class/gpio/gpio44# cat direction

4. 設定輸出

/sys/class/gpio/gpio44# echo 1 > value

5. 檢視輸出值

/sys/class/gpio/gpio44# cat value

6. 取消匯出

/sys/class/gpio# echo 44 > unexport

1. # 獲得超級許可權  

2. sudo su  

3. # 進入gpio目錄  

4. cd /sys/class/gpio  

5. # 使用ls檢視gpio目錄中的內容,可以檢視到  

6. # export gpiochip0 unexport   

7. ls  

8. # gpio操作介面從核心空間暴露到使用者空間  

9. # 執行該操作之後,該目錄下會增加乙個gpio4檔案  

10. echo 4 > export  

11. # 進入gpio4目錄,該目錄由上一步操作產生  

12. cd gpio4  

13. #   檢視gpio4目錄中的內容,可檢視到  

14. #   active_low direction edge power subsystem uevent value  

15. ls   

16. # 設定gpio4為輸出方向  

17. echo out > direction  

18. # bcm_gpio4輸出邏輯高電平,led點亮  

19. echo 1 > value  

20. #  bcm_gpio4輸出邏輯低電平,led熄滅  

21. echo 0 > value  

22. # 返回上一級目錄  

23. cd ../  

24. # 登出gpio4介面  

25. echo 4 > unexport  

26. # 退出超級使用者  

27. exit  

-

直接通過framebuffer直接寫屏

幀緩衝 framebuffer 是 linux 為顯示裝置提供的乙個介面,把視訊記憶體抽象後的一種裝置,他允許上層應用程式在圖形模式下直接對顯示緩衝區進行讀寫操作。這種操作是抽象的,統一的。使用者不必 關心物理視訊記憶體的位置 換頁機制等等具體細節。這些都是由framebuffer 裝置驅動來完成的...

直接通過DAO讀寫Access檔案

直接利用dao來建立 讀寫access檔案,總的說來,比直接通過odbc讀 寫excel檔案來講,要簡單一些。在下面的示例中,我們將用到兩種方法 sql和dao類函式來混合實現它們,這樣做的目地,我想可以使大家更加方便靈活的運用它們來完成你想要做的東西。在示例程式中預設指定建立資料庫名為 demo....

高通平台Bring up

3.2.amss 部分編譯 主要由以下部分構成 adsp,boot,debug,modem,rpm,trustzone,wcnss,分別根據高通的說明編譯這些模組,不過其中有些模組我們不會改,直接用release的binary檔案就行,比如 debug,rpm,trustzone,wcnss。3.3...