RK3399 驱动开发 | 02 - Android8.1 系统生成默认GPIO


前言

Android8.1 系统生成默认GPIO有三种方案:

  • init.xxx.rc中添加
  • adb 指令生成
  • Android应用层执行指令

一、init.xxx.rc添加

在rk3399源码的device/rockchip/rk3399/init.rk3399.rc 文件的on init下添加如下内容:

以gpio3为例:
#1.设置权限
chown root root /sys/class/gpio/export
chmod 0666 /sys/class/gpio/export
#2.生成gpio3
write /sys/class/gpio/export 3
#3.设置方向权限
chown root root /sys/class/gpio3/direction
chmod 0777 /sys/class/gpio3/direction
#4.设置方向为输出
write /sys/class/gpio/gpio3/direction out
#4.设置value
chown root root /sys/class/gpio3/value
chmod 0777 /sys/class/gpio3/value
write /sys/class/gpio/gpio3/value 1

二、adb 指令生成

以gpio3为例:
echo 3 > /sys/class/gpio/export
echo out > direction
echo 3 > /sys/class/gpio/unexport

三、Android应用层执行指令

val localProcess = Runtime.getRuntime().exec("su")
val localDataOutputStream = DataOutputStream(localProcess.outputStream as OutputStream)
localDataOutputStream.writeBytes("echo 3 > /sys/class/gpio/export\n")
localDataOutputStream.flush()
localDataOutputStream.writeBytes("exit\n")
localDataOutputStream.flush()

猜你喜欢

转载自blog.csdn.net/chenkanuo/article/details/130575051