gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
由于板子沒有l(wèi)cd無法得知sd卡升級(jí)是否完成,因此使用LED顯示.
Recovery中升級(jí)完成后控制GPIO輸出高電平點(diǎn)亮LED.
系統(tǒng)自帶GPIO控制驅(qū)動(dòng):
內(nèi)核已經(jīng)自帶了通用GPIO驅(qū)動(dòng),可以直接在用戶空間操作.
路徑: /sys/class/gpio
root@rk3288:/sys/class/gpio # ls
export
gpiochip0
gpiochip120
gpiochip152
gpiochip184
gpiochip216
gpiochip24
gpiochip248
gpiochip280
gpiochip56
gpiochip88
unexport
比如我要操作GPIO8_A6作為高電平輸出有效, 那么有以下問題:
1. 對應(yīng)的gpio number是多少呢?
2. 如何設(shè)置成輸出
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
接下來就可以導(dǎo)出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] 調(diào)試筆記 --- Goodix GT9和GT9F區(qū)別【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/78341425 Platform: RK3288?OS: Android 6.0?Kernel ...
[RK3288][Android6.0] 調(diào)試筆記 --- 測試I2C設(shè)備正常傳輸方法【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/71515020 Platform: RockchipOS: Android 6.0Kernel ...
[RK3288][Android6.0] 調(diào)試筆記 --- 普通串口的添加 【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/54574073 ? 標(biāo)簽: rk3288 串口添加 2017-01-16 14:52 1079 ...
[RK3288][Android6.0] 調(diào)試筆記 --- eMMC分區(qū)號(hào)和名字的對應(yīng)【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip?OS: Android 6.0?Kern ...
[RK3288][Android6.0] 調(diào)試筆記 --- 替換系統(tǒng)簽名【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: ...
[RK3288][Android6.0] 調(diào)試筆記 --- 軟硬鍵盤同時(shí)使用【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/78748313 Platform: RK3288?OS: Android 6.0?Kernel ...
[RK3288][Android6.0] 調(diào)試筆記 --- 系統(tǒng)識(shí)別不同硬件版本方法【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://m.blog.csdn.net/kris_fei/article/details/70226451 Platform: RockchipOS: Android 6.0Kern ...
[RK3288][Android6.0] 調(diào)試筆記 --- pmu(rk818)寄存器讀寫【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/76919134 Platform: Rockchip?OS: Android 6.0?Kern ...
RK3288][Android6.0] 調(diào)試筆記 --- 關(guān)閉按鍵音后無法錄音問題【轉(zhuǎn)】
本文轉(zhuǎn)載自:http://blog.csdn.net/kris_fei/article/details/70052413 Platform: ROCKCHIPOS: Android 6.0Kernel ...
隨機(jī)推薦
[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 標(biāo)準(zhǔn)庫系列之ctype.h
ctype.h 主要提供了一些函數(shù)用以測試字符或字符處理的功能函數(shù):包括字符判斷檢測.字符轉(zhuǎn)換: 目前ASCII字符可分為以下一些類型,如:大寫.小寫.字母.數(shù)字.十六進(jìn)制.空白字符.可打印字符.控制 ...
wp8.1 Study6: App的生命周期管理
一.概述 應(yīng)用程序的生命周期詳解可以參照Windows8.1開發(fā)中msdn文檔http://msdn.microsoft.com/library/windows/apps/hh464925.aspx ...
轉(zhuǎn)--android Toast大全(五種情形)建立屬于你自己的Toast
Toast用于向用戶顯示一些幫助/提示.下面我做了5中效果,來說明Toast的強(qiáng)大,定義一個(gè)屬于你自己的Toast. 1.默認(rèn)效果 代碼 Toast.makeText(getApplicationCo ...
Ubuntu系統(tǒng)下安裝python2.7
第一步:下載python2.7相關(guān)版本源碼(例如:Python-2.7.4.tgz) 第二步:安裝 1) 解壓 $tar zxvf Python-2.7.4.tar.tgz 2)進(jìn)入文件夾: $cd ...
Java安全防御學(xué)習(xí)筆記V1.0
Java安全防御學(xué)習(xí)筆記V1.0http://www.docin.com/p-766808938.html
django學(xué)習(xí)——url的name
html中的地址可以用寫死的,也可以用生成的,如:link
linux學(xué)習(xí)問題總結(jié)
目錄 一.環(huán)境變量和普通變量的區(qū)別 二.rsyslog和logrotate會(huì)不會(huì)丟記錄的問題 三.為什么有些文件夾大小不是4096的整數(shù)倍 四.reboot和shutdown等軟鏈接實(shí)現(xiàn)原理 五.sy ...
如何用jQuery獲得select的值
如何用jQuery獲得select的值,在網(wǎng)上找了看了一下,下面將總結(jié)一下: 1.獲取第一個(gè)option的值?? ???? $('#test option:first').val(); 2.最后一個(gè)o ...
qq互聯(lián)php版本
https://zhidao.baidu.com/question/1495432442326804379.html qq互聯(lián)php版本 http://www.jb51.net/article/104 ...
總結(jié)
以上是生活随笔為你收集整理的gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑任务栏怎么设置 如何自定义电脑任务栏
- 下一篇: JAVA里面main找不到符号_java