完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 /***in/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(); |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1880 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2346 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5152 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 22:15 , Processed in 0.434491 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号