文档章节

cubieboard2驱动GPIO

zzmx
 zzmx
发布于 2016/02/11 16:41
字数 358
阅读 101
收藏 1
点赞 1
评论 0

修改/etc/modules,在最后添加gpio_sunxi,并重启。

lsmod        #查看是否加载了gpio_sunxi

在cubie安装编译环境和git

sudo apt-get install build-essential git libusb-1.0-0-dev pkg-config -y
sudo apt-get install git

从github克隆sunxi

git clone https://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools
make

然后目录下面会有bin2fex和fex2bin两个文件。

在mnt目录下新建mmc文件夹

mkdir /mnt/mmc

挂载/dev/mmcblk0p1,并复制script.bin到当前目录

 mount /dev/mmcblk0p1 /mnt/mmc
 cp /mnt/mmc/script.bin ./

把script.bin转换成script.fex

bin2fex script.bin > script.fex

编辑script.fex

vim script.fex

找到[gpio_para],修改成如下

[gpio_para]
gpio_used = 1
gpio_num = 9
gpio_pin_1 = port:PC04<1><default><default><default>
gpio_pin_2 = port:PC05<1><default><default><default>
gpio_pin_3 = port:PC06<1><default><default><default>
gpio_pin_4 = port:PC07<1><default><default><default>
gpio_pin_5 = port:PC08<1><default><default><default>
gpio_pin_6 = port:PC09<1><default><default><default>
gpio_pin_7 = port:PC10<1><default><default><default>
gpio_pin_8 = port:PC11<1><default><default><default>
gpio_pin_9 = port:PH20<1><default><default><1>        #这是cubie上面绿色的led

这个配置使用了PA8个IO口gpio_num根据你使用的io口数量修改

保存script.fex,并转为script.bin

fex2bin script.fex > script.bin

复制script.bin回/mnt/mmc

cp script.bin /mnt/mmc
umount /mnt/mmc


现在尝试控制cubie的绿色led

echo 9 > /sys/class/gpio/export    #9对应script.bin的gpio_pin_9 = port:PH20<1><default><default><1>
ls /sys/class/gpio                 #此时该路径下多了个gpio9_ph20
cd /sys/class/gpio/gpio_ph20
echo out > direction               #设置为输出模式
echo 1 > value                     #高电平
echo 0 > value                     #低电平

此时可以看到cubie的绿色led亮和灭了。

© 著作权归作者所有

共有 人打赏支持
zzmx
粉丝 1
博文 9
码字总数 5002
作品 0
佛山
程序员
Cubieboard团队发布 “cubieboard2双卡版”开源硬件

“cubieboard2双卡版”(英文名:cubieboard2-dualcard,简称CB2-2CARD)是一个cubieboard团队酝酿已久的产物,也是一个为了适应中国国情而推出的一个可玩性更高的开源硬件。在极大地保留了硬...

cubieboard
2014/08/19
0
0
嵌入式linux系统的开发——GPIO及LED/KEY的功能实现

GPIO功能注册和控制 MT7688支持引脚功能的复用,通过配置GPIO1MODE和GPIO2MODE寄存器可指定引脚的功能,通常在dts文件中对引脚功能进行注册。 MT7688引脚的GPIO注册位于/target/linux/ramip...

元宵大师
07/11
0
0
Cubieboard官方 GPIO驱动使用总结

最近参考了tll同学的GPIO操作教程,终于完成了CB的GPIO控制操作。 板子使用的操作系统是官方标准系统1.1版本的linaro官方img的,本身已经带gpio驱动文件。 1.官方驱动为gpio-sunxi.ko,位于 ...

cubieboard
2014/08/22
0
0
Cubieboard通过GPIO驱动步进电机--完结

2013-4-3更新:由于标准GPIO库(gpio-sunxi.ko)已经可用了,不建议再使用sun4i-gpio.ko这个驱动。此文仅作思路上的参考,不用照搬 This driver is not recommended now. For the new gpio dri...

cubieboard
2014/08/22
0
0
RK3288开发板PopMetal上的GPIO驱动实例

楼主在这边给大家介绍下如何使用PopMetal的GPIO。先讲过程,再讲原理吧, 该驱动需要涉及到的知识点:1,DTS设备树的作用,2,platform虚拟总线驱动的编写。 第一步,添加DTS节点 在/kernel...

穿prada的008
2015/08/03
0
0
迅为iTOP-4412嵌入式开发板实现中断驱动例程

本文转自迅为:www.topeetboard.com 大家好,今天我们来学习一下 linux 中断处理驱动的编写,本节我们实现的功能是通过开发板上的按键来控制 led 发光二极管,在之前的章节我们学习了 led 驱...

topeet
2016/02/23
495
0
gpio子系统和pinctrl子系统(下)

转载地址:http://www.cnblogs.com/rongpmcu/p/7662756.html 情景分析 打算从两个角度来情景分析,先从bsp驱动工程师的角度,然后是驱动工程师的角度,下面以三星s3c6410 Pinctrl-samsung.c...

kunkliu
03/28
0
0
Linux的i2c驱动详解

1 简介 I2C 总线仅仅使用 SCL 、 SDA 两根信号线就实现了设备之间的数据交互,极大地简化对硬件资源和 PCB 板布线空间的占用。因此, I2C 总线被非常广泛地应用在 EEPROM 、实时钟、小型 LC...

nothingfinal
2012/04/18
0
0
RK3288 GPIO 驱动

简介 GPIO, 全称 General-Purpose Input/Output(通用输入输出),是一种软件运行期间能够动态配置和控制的通用引脚。 RK3288 有 9 组 GPIO bank: GPIO0,GPIO1, ..., GPIO8。每组又以 A0~A...

倔强的小蚂蚁
2016/12/14
64
0
学习嵌入式linux开发板之iTOP-4412 开发板如何操作GPIO

本文转自迅为论坛:http://www.topeetboard.com 平台:迅为嵌入式linux开发板 Exynos4412 所有的 GPIO 都有固定的地址,为了方便操作这些 GPIO,Linux 内核 在 gpio-exynos4.h 里面定义了一些...

歌之王子殿下
2016/03/29
326
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MyBatis源码解读之延迟加载

1. 目的 本文主要解读MyBatis 延迟加载实现原理 2. 延迟加载如何使用 Setting 参数配置 设置参数 描述 有效值 默认值 lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延...

无忌
10分钟前
0
0
javascript 类变量的实现

代码如下: function echo(){ for(let i=0;i<arguments.length;i++) console.log(arguments[i]);}function extend(o, p){for (prop in p) {o[prop] = p[prop]}retur......

backbye
14分钟前
0
2
编程语言对比分析:Python与Java和JavaScript(图)

编程语言对比分析:Python与Java和JavaScript(图): 凭什么说“Python 太慢,Java 太笨拙,我讨厌 JavaScript”?[图] 编程语言生而为何? 我们人类从原始社会就是用语言表达自己,互相沟通...

原创小博客
22分钟前
0
0
Akka构建Reactive应用《one》

看到这Akka的官网,描述使用java或者scala构建响应式,并发和分布式应用更加简单,听着很高级的样子,下面的小字写着消息驱动,但是在quickstart里面又写容错事件驱动,就是这么钻牛角尖。 ...

woshixin
34分钟前
0
0
ffmpeg源码分析 (四)

io_open 承接上一篇,对于avformat_open_input的分析还差其中非常重要的一步,就是io_open,该函数用于打开FFmpeg的输入输出文件。 在init_input中有这么一句 if ((ret = s->io_open(s, &s-...

街角的小丑
35分钟前
0
0
String,StringBuffer ,StringBuilder的区别

不同点 一、基类不同 StringBuffer、StringBuilder 都继承自AbStractStringBuilder,String 直接继承自 Object 2、底层容器“不同” 虽然底层都是字符数组,但是String的是final修饰的不可变...

不开心的时候不要学习
51分钟前
0
0
nodejs 文件操作

写文件code // 加载文件模块var fs = require("fs");var content = 'Hello World, 你好世界!';//params 文件名,内容,编码,回调fs.writeFile('./hello.txt',content,'utf8',function (er......

yanhl
53分钟前
0
0
SpringBoot mybits 查询为0条数据 但是在Navicat 中可以查询到数据

1.页面请求: 数据库查询: 2018-07-16 17:56:25.054 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective : ==> Preparing: select id, card_number, customer_id, customer_nam......

kuchawyz
今天
0
0
译:Self-Modifying cod 和cacheflush

date: 2014-11-26 09:53 翻译自: http://community.arm.com/groups/processors/blog/2010/02/17/caches-and-self-modifying-code Cache处在CPU核心与内存存储器之间,它给我们的感觉是,它具......

我叫半桶水
今天
0
0
Artificial Intelligence Yourself

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流...

孟飞阳
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部