您尚未登录。

楼主 #1 2018-01-26 14:53:39

小白菜
会员
注册时间: 2017-09-27
已发帖子: 88
积分: 88

在A33上抛掉安卓层,在根文件系统层操作调试过程(也就是做了安卓用户层的工作)

由于工作中要去掉安卓层,所以接下来调试GPIO的时候做了以下工作,大神绕过就好
(这部分本人也是粘贴的,同事做的)
GPIO管脚分配
1. 内核源码查看
$ vim  linux-3.4/arch/arm/mach-sunxi/include/mach/gpio.h
从中查看以及参考寄存器手册不难看出


GPIO编号 = 组编号BASE + 组内编号
例如: PB3 ==>
  32 (PB : SUNXI_PB_BASE 32) + 3(PB3: 3) = 35
即:PB3 的GPIO编号为 35
2. 根据GPIO标号使用GPIO使用
1) 内核配置
① 进入linux-3.4 目录
$ cd linux-3.4
② 复制配置a33_vstar配置选项
$ cp a33_vstar_defconfig .config
③ 修改配置选项
$ make ARCH=arm menuconfig
Device Drivers --->
-*- GPIO Support --->
[ ] /sys/class/gpio/...(sys interface)(目的是为了给用户层提供操作接口,才有接下来的步骤)
选择 *
2) 编译内核,烧录至开发板。         详情点击跳转(嘿嘿,你可别真信了)
3) 运行开发板
① 进入gpio操作的目录下
cd /sys/class/gpio
② 操作方法(以PB3--GPIO编号为35 为例)
导出      /sys/class/gpio# echo 35 > export
取消导出 /sys/class/gpio# echo 35 > unexport
/sys/class/gpio# cd gpio35
设置方向 /sys/class/gpio/gpio35# echo out > direction
注: out --输出  in --输入
查看方向 /sys/class/gpio/gpio35# cat direction
设置输出 /sys/class/gpio/gpio35# echo 1 > value
注: 0 --低电平 1 --高电平
查看输出 /sys/class/gpio/gpio35# cat value

3. 调试过程中遇到的问题
1) GPIO 编号在操作手册中未明确给出,需要自己计算。
2) GPIO在调试时发现个别引脚,存在高电平输出时引脚电压只有 0.5V,如PB3    。

接下来的话会介绍pwm的调试过程
1. 查找LCD设备
cd /sys/devices
find . -name “*lcd*”
经查找和尝试,发现/sys/devices/virtual/disp/disp/attr/lcdbl 为背光控制的操作文件
2. 背光操作方法
命令行: echo 0 > /sys/devices/virtual/disp/disp/attr/lcdbl
背光控制参数范围:0 ~ 255
其中,0表示最暗,255表示最亮。
注意:(去看芯片手册,嘿嘿)
A33_vstar 具有PWM功能的引脚有2个。
15 |  LCD-PWM/PWM0   |16  |TP-RST/PWM1/PH1

其中PH0 为LCD背光控制引脚,PH1为触摸屏reset引脚。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn