gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
由于板子沒有lcd無法得知sd卡升級是否完成,因此使用LED顯示.
Recovery中升級完成后控制GPIO輸出高電平點亮LED.
系統自帶GPIO控制驅動:
內核已經自帶了通用GPIO驅動,可以直接在用戶空間操作.
路徑: /sys/class/gpio
root@rk3288:/sys/class/gpio # ls
export
gpiochip0
gpiochip120
gpiochip152
gpiochip184
gpiochip216
gpiochip24
gpiochip248
gpiochip280
gpiochip56
gpiochip88
unexport
比如我要操作GPIO8_A6作為高電平輸出有效, 那么有以下問題:
1. 對應的gpio number是多少呢?
2. 如何設置成輸出
3. 如何輸出高電平
問題1:
可以通過/sys/kernel/debug/gpio查詢信息:
root@rk3288:/sys/kernel/debug # cat gpio
//snip
GPIOs 184-215, platform/ff770000.pinctrl, gpio6:
gpio-193 (??????????????????? ) in? hi
gpio-194 (??????????????????? ) in? hi
GPIOs 216-247, platform/ff770000.pinctrl, gpio7:
gpio-218 (enable????????????? ) out hi
gpio-219 (lcd_en????????????? ) in? hi
gpio-220 (lcd_cs????????????? ) in? hi
gpio-221 (gslX680 wake pin??? ) out hi
gpio-222 (gslX680 irq pin???? ) out lo
gpio-223 (headset_gpio??????? ) in? hi
gpio-233 (??????????????????? ) in? hi
gpio-234 (??????????????????? ) in? hi
GPIOs 248-279, platform/ff770000.pinctrl, gpio8:
GPIOs 280-311, platform/ff770000.pinctrl, gpio15:
可以看到gpio8是以nubmer為248開始, 那么GPIO8_A6就是 248 + 6 = 254
接下來就可以導出gpio了
root@rk3288:/sys/class/gpio # echo 254 > export
root@rk3288:/sys/class/gpio # ls
export
gpio254
......
問題2
root@rk3288:/sys/class/gpio/gpio254 # echo out > direction
root@rk3288:/sys/class/gpio/gpio254 # cat direction
out
問題3:
root@rk3288:/sys/class/gpio/gpio254 # echo 1 > value
root@rk3288:/sys/class/gpio/gpio254 # cat value
1
解決方法:
init.rc
[kris@:~/rk3288/device/rockchip/common/recovery/etc]$ g df
diff --git a/recovery/etc/init.rc b/recovery/etc/init.rc
index efe2a5d..75d7554 100755
--- a/recovery/etc/init.rc
+++ b/recovery/etc/init.rc
@@ -85,6 +85,12 @@ on late-init
on property:sys.powerctl=*
powerctl ${sys.powerctl}
+#Kris, 170407, GPIO8_A6 -> gpio254, used to inform sd upgrade complete.
+on property:sdupgrade.complete=true
+?????? write /sys/class/gpio/export 254
+?????? write /sys/class/gpio/gpio254/direction out
+?????? write /sys/class/gpio/gpio254/value 1
+
service ueventd /sbin/ueventd
critical
seclabel u:r:ueventd:s0
recovery.cpp
[kris@:~/rk3288/bootable/recovery]$ g df
diff --git a/recovery.cpp b/recovery.cpp
index 8299672..a0edc15 100755
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -2285,6 +2285,10 @@ HANDLE_STATUS :
strcat(kernellogPath, "/kernel.txt");
save_kernel_log(kernellogPath);
#endif
+
+?????? //Kris, 170407, light led on after sd upgrade complete.
+?????? property_set("sdupgrade.complete", "true");
+
if (bSDMounted)
checkSDRemoved();
參考:
http://blog.csdn.net/cjsycyl/article/details/46310939
[RK3288][Android6.0] 調試筆記 --- Goodix GT9和GT9F區別【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/78341425 Platform: RK3288?OS: Android 6.0?Kernel ...
[RK3288][Android6.0] 調試筆記 --- 測試I2C設備正常傳輸方法【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/71515020 Platform: RockchipOS: Android 6.0Kernel ...
[RK3288][Android6.0] 調試筆記 --- 普通串口的添加 【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/54574073 ? 標簽: rk3288 串口添加 2017-01-16 14:52 1079 ...
[RK3288][Android6.0] 調試筆記 --- eMMC分區號和名字的對應【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip?OS: Android 6.0?Kern ...
[RK3288][Android6.0] 調試筆記 --- 替換系統簽名【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: ...
[RK3288][Android6.0] 調試筆記 --- 軟硬鍵盤同時使用【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/78748313 Platform: RK3288?OS: Android 6.0?Kernel ...
[RK3288][Android6.0] 調試筆記 --- 系統識別不同硬件版本方法【轉】
本文轉載自:http://m.blog.csdn.net/kris_fei/article/details/70226451 Platform: RockchipOS: Android 6.0Kern ...
[RK3288][Android6.0] 調試筆記 --- pmu(rk818)寄存器讀寫【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/76919134 Platform: Rockchip?OS: Android 6.0?Kern ...
RK3288][Android6.0] 調試筆記 --- 關閉按鍵音后無法錄音問題【轉】
本文轉載自:http://blog.csdn.net/kris_fei/article/details/70052413 Platform: ROCKCHIPOS: Android 6.0Kernel ...
隨機推薦
[LeetCode] Closest Binary Search Tree Value II 最近的二分搜索樹的值之二
Given a non-empty binary search tree and a target value, find?k?values in the BST that are closest t ...
C 標準庫系列之ctype.h
ctype.h 主要提供了一些函數用以測試字符或字符處理的功能函數:包括字符判斷檢測.字符轉換: 目前ASCII字符可分為以下一些類型,如:大寫.小寫.字母.數字.十六進制.空白字符.可打印字符.控制 ...
wp8.1 Study6: App的生命周期管理
一.概述 應用程序的生命周期詳解可以參照Windows8.1開發中msdn文檔http://msdn.microsoft.com/library/windows/apps/hh464925.aspx ...
轉--android Toast大全(五種情形)建立屬于你自己的Toast
Toast用于向用戶顯示一些幫助/提示.下面我做了5中效果,來說明Toast的強大,定義一個屬于你自己的Toast. 1.默認效果 代碼 Toast.makeText(getApplicationCo ...
Ubuntu系統下安裝python2.7
第一步:下載python2.7相關版本源碼(例如:Python-2.7.4.tgz) 第二步:安裝 1) 解壓 $tar zxvf Python-2.7.4.tar.tgz 2)進入文件夾: $cd ...
Java安全防御學習筆記V1.0
Java安全防御學習筆記V1.0http://www.docin.com/p-766808938.html
django學習——url的name
html中的地址可以用寫死的,也可以用生成的,如:link
linux學習問題總結
目錄 一.環境變量和普通變量的區別 二.rsyslog和logrotate會不會丟記錄的問題 三.為什么有些文件夾大小不是4096的整數倍 四.reboot和shutdown等軟鏈接實現原理 五.sy ...
如何用jQuery獲得select的值
如何用jQuery獲得select的值,在網上找了看了一下,下面將總結一下: 1.獲取第一個option的值?? ???? $('#test option:first').val(); 2.最后一個o ...
qq互聯php版本
https://zhidao.baidu.com/question/1495432442326804379.html qq互聯php版本 http://www.jb51.net/article/104 ...
總結
以上是生活随笔為你收集整理的gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑任务栏怎么设置 如何自定义电脑任务栏
- 下一篇: u盘启动盘制作失败怎么回事 制作U盘启动