全志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. Servlet session的理解

    servlet参见http://blog.csdn.net/bryanliu1982/article/details/5214899 session参见http://lavasoft.blog.51c ...

  2. js实现网页多少秒后自动跳转到指定网址

    在网上搜了一下,关于这个技术处理有多种方法,我只记下我在视频里学到的三种: 1.用一个response.sendRedirect("目标页面.jsp\.htm");实现直接跳转: ...

  3. 织梦dedecms内页分类频道友情链接实现方法

    本文介绍了织梦dedecms中内页分类频道加友情链接的三种方法,有需要的朋友参考下. 织梦dedecms中内页分类频道加友情链接,方法有三种: 先讲方法,后讲原理: 方法:先找到首页模版index.h ...

  4. Asp与Asp.Net

    1.Asp是什么? ASP是动态服务器页面(Active Server Page)的英文缩写.是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具 ...

  5. JAVA泛型与可变参数

    泛型的引入: 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题.也就存在这隐患,所以Java提供了泛型来解决这个安全问题. 格式: 泛型类:public class ...

  6. SKU的结构与页面渲染

    http://blog.jobbole.com/109138/?lwfrom=user_dingfriend

  7. CreateThread创建线程 互斥量锁

    HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,//SD:线程安全相关的属性,常置为NULL SIZE_T dwStackS ...

  8. windows动态磁盘导致的分区问题

    上次说到由于装双系统导致我的win7启动不了了,一直以为是不是在ubuntu的安装界面点错了什么东西导致的,甚至认为是不是server的安装程序有点bug,直到今天继续折腾才发现了问题所在,跟ubun ...

  9. MySQL命令行参数

    一,mysql命令行参数 Usage: mysql [OPTIONS] [database]   //命令方式 -?, --help          //显示帮助信息并退出 -I, --help   ...

  10. python学习笔记2-条件语句

    #条件语句 ''' if 判断条件: 执行语句…… else: 执行语句…… ''' flag = False name = 'python' if name == 'python': # 判断变量否 ...