全志R58平台的GPIO引脚控制

2017/8/18 15:50

版本:V1.0

开发板:SC5806(全志R58平台)

SDK:android4.4.4

本文以GPIO引脚PD24为例,在开发板的背面。J18座子上,+5V旁边(可以用这个引脚来定位!)。

rootroot@cm-System-Product-Name:/home/wwt/vxiaoyu_s5k5eya/lichee/linux-3.4$ make ARCH=arm menuconfig

Device Drivers  --->

-*- GPIO Support  --->

[ ]   /sys/class/gpio/... (sysfs interface)

修改为:

[*]   /sys/class/gpio/... (sysfs interface)

rootroot@cm-System-Product-Name:/home/wwt/vxiaoyu_s5k5eya/lichee$ find . -name gpio.h

./linux-3.4/arch/arm/mach-sunxi/include/mach/gpio.h

W:\xiaoyu_s5k5eya\lichee\linux-3.4\arch\arm\mach-sunxi\include\mach\gpio.h

得知GPIO号:

#define SUNXI_PINCTRL "sunxi-pinctrl"

#define SUNXI_BANK_SIZE 32

#define SUNXI_PA_BASE 0

#define SUNXI_PB_BASE 32

#define SUNXI_PC_BASE 64

#define SUNXI_PD_BASE 96

#define SUNXI_PE_BASE 128

#define SUNXI_PF_BASE 160

#define SUNXI_PG_BASE 192

#define SUNXI_PH_BASE 224

#define SUNXI_PI_BASE 256

#define SUNXI_PJ_BASE 288

#define SUNXI_PK_BASE 320

#define SUNXI_PL_BASE 352

#define SUNXI_PM_BASE 384

#define SUNXI_PN_BASE 416

#define SUNXI_PO_BASE 448

#define AXP_PIN_BASE 1024

PD24的GPIO引脚号为:

96+24=120

在串口终端中的调试方法:

shell@octopus-f1:/ $

shell@octopus-f1:/ $ cd /sys/class/gpio/

shell@octopus-f1:/sys/class/gpio $ ll

--w------- root     root         4096 1970-01-01 09:01 export

lrwxrwxrwx root     root              1970-01-01 09:01 gpiochip0 -> ../../devices/platform/sunxi-pinctrl/gpio/gpiochip0

lrwxrwxrwx root     root              1970-01-01 09:01 gpiochip1024 -> ../../devices/platform/axp-pinctrl/gpio/gpiochip1024

--w------- root     root         4096 1970-01-01 09:01 unexport

shell@octopus-f1:/sys/class/gpio $

shell@octopus-f1:/sys/class/gpio $

(必须su权限:)

shell@octopus-sc5806:/sys/class/gpio $

shell@octopus-sc5806:/sys/class/gpio $ echo 120 > export

/system/bin/sh: can't create export: Permission denied

1|shell@octopus-sc5806:/sys/class/gpio $

1|shell@octopus-sc5806:/sys/class/gpio $ su

shell@octopus-sc5806:/sys/class/gpio #

shell@octopus-sc5806:/sys/class/gpio #

shell@octopus-sc5806:/sys/class/gpio # echo 120 > export

shell@octopus-sc5806:/sys/class/gpio # ll

--w------- root     root         4096 1970-01-02 09:13 export

lrwxrwxrwx root     root              1970-01-02 09:13 gpio120 -> ../../devices/platform/sunxi-pinctrl/gpio/gpio120

lrwxrwxrwx root     root              1970-01-02 09:11 gpiochip0 -> ../../devices/platform/sunxi-pinctrl/gpio/gpiochip0

lrwxrwxrwx root     root              1970-01-02 09:11 gpiochip1024 -> ../../devices/platform/axp-pinctrl/gpio/gpiochip1024

--w------- root     root         4096 1970-01-02 09:11 unexport

shell@octopus-sc5806:/sys/class/gpio #

切换到DP24的目录:

shell@octopus-sc5806:/sys/class/gpio # cd gpio120/

shell@octopus-sc5806:/sys/class/gpio/gpio120 # ll

-rw-r--r-- root     root         4096 1970-01-02 09:14 active_low

lrwxrwxrwx root     root              1970-01-02 09:14 device -> ../../../sunxi-pinctrl

-rw-r--r-- root     root         4096 1970-01-02 09:14 direction

drwxr-xr-x root     root              1970-01-02 09:14 power

lrwxrwxrwx root     root              1970-01-02 09:14 subsystem -> ../../../../../class/gpio

-rw-r--r-- root     root         4096 1970-01-02 09:14 uevent

-rw-r--r-- root     root         4096 1970-01-02 09:14 value

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat direction

in

shell@octopus-sc5806:/sys/class/gpio/gpio120 # echo out > direction

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat direction

out

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat value

0

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 # echo 1 > value

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat value

1

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

万用表测得DP24为2.974V(高)

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat value

1

shell@octopus-sc5806:/sys/class/gpio/gpio120 # echo 0 > value

shell@octopus-sc5806:/sys/class/gpio/gpio120 # cat value

0

shell@octopus-sc5806:/sys/class/gpio/gpio120 #

万用表测得DP24为0.000V(低)

全志R58平台的GPIO引脚控制的更多相关文章

  1. 31全志r58平台Android4.4.2下打开USB摄像头

    31全志r58平台Android4.4.2下打开USB摄像头 2018/10/26 16:00 版本:V1.0 开发板:SC5806 1.系统编译:(略) 2.需要修改的文件: W:\r58_andr ...

  2. 02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示

    02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示 2017/8/18 13:53 版本:V1.0 开发板:SC5806(全志R58平台) SDK:android4.4.4 ...

  3. 51全志R58平台Android4.4下Camera的HAL层修改

    51全志R58平台Android4.4下Camera的HAL层修改 2018/11/7 15:20 版本:V1.0 开发板:SC5806 1.系统编译: (略) 2.全志R58平台Android4.4 ...

  4. 04全志R58平台编译内核需要选择的配置

    04全志R58平台编译内核需要选择的配置 2018/11/6 14:19 版本:V1.0 开发板:SC5806 1.系统编译:(略) 每次系统编译/内核的时候都需要选3次N: * * Xtables ...

  5. 全志R58平台调通s5k5eya(RAW+MIPI)

    全志R58平台调通s5k5eya(RAW+MIPI) 2017/5/31 10:30 版本:V1.1 1.前期使用的是s5k5eyx的ISP的固件/tuning 文件 Y:\s5k5eya_r58_d ...

  6. GPIO引脚操作

    Kernel: 4.4 Soc: msm8996 1.用户空间通过sysfs操作GPIO (1)启用GPIO sysfs interface 首先看系统中有没有“/sys/class/gpio”这个文 ...

  7. linux下对/sys/class/gpio中的gpio的控制 (转)

        在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网上大多数的例子都是这样的.其实linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/clas ...

  8. 21全志r58m平台的framework在使用过程中会莫名的崩溃掉

    21全志r58m平台的framework在使用过程中会莫名的崩溃掉 2018/10/25 16:20 版本:V1.0 开发板:SC5806 1.系统编译: rootroot@cm88:/home/ww ...

  9. 461在全志r16平台tinav3.0系统下使用地磁计QMC5883L

    461在全志r16平台tinav3.0系统下使用地磁计QMC5883L 2018/9/7 14:08 版本:V1.0 开发板:SC3817R SDK:tina v3.0 (基本确认全志tina v3. ...

随机推荐

  1. poj 1325 Machine Schedule 解题报告

    题目链接:http://poj.org/problem?id=1325 题目意思:有 k 个作业,机器A有 n 个模式:0 ~ n-1,机器B 有 m 个模式:0~ m-1.每一个作业能运行在 A 的 ...

  2. Oracle :多实例切换

    Connecting to 10.1.4.21:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. La ...

  3. 书写优雅的shell脚本(三) - shell中exec解析

    参考:<linux命令.编辑器与shell编程> <unix环境高级编程> exec和source都属于bash内部命令(builtins commands),在bash下输入 ...

  4. VMware Ubuntu 共享文件夹

    /**************************************************************************** * VMware Ubuntu 共享文件夹 ...

  5. SpringMVC之使用Validator接口进行验证

    对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证.SpringMVC自身对数据在服务端的校验有一个比较好的支持,它能将我们提 ...

  6. python的日志logging模块性能以及多进程

    写在前面: 日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),python日志的性能瓶颈是 ...

  7. TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

    报错原因:numpy不能读取CUDA tensor 需要将它转化为 CPU tensor. 所以如果想把CUDA tensor格式的数据改成numpy时,需要先将其转换成cpu float-tenso ...

  8. HTTP node静态资源请求加载demo

    MIME type的缩写为(Multipurpose Internet Mail Extensions)代表互联网媒体类型(Internet media type),MIME使用一个简单的字符串组成, ...

  9. bzoj2384

    树状数组+KMP 匹配问题上KMP 但是问题在于如何判断两个位置相等,我们认为如果一个位置之前比他小的数数量相同那么就是相等. 那么我们用树状数组动态维护这个东西,每次跳nxt的时候用树状数组删除数. ...

  10. 关于HTTP请求中更改body中传递的参数方法

    更改body中传递的参数方法: String txId = UUID.randomUUID().toString().replaceAll("-", ""); ...