本文硬件平台采用飞凌嵌入式T507开发板,主要以T507 开发板上UART5中PH2、PH3引脚为例,用户可根据自己的实际情况选择,关闭所用引脚使用的功能,将其配置到所用功能的设备树中。本文使用的思路和方法仅供参考使用,其它arm开发板虽然芯片不同,但思路和方法有很多的共性,希望对您在板卡的使用中能够有所帮助,更多ARM开发板相关资讯,关注飞凌嵌入式。
T507开发板功能接口
方法参考如下:
1、选用引脚
以UART5中的PH2、PH3引脚复用为例
2、修改设备树,关闭所使用引脚默认配置的功能:
将PH2、PH3 功能关闭后,可以用作普通GPIO
vi OKT507-android-source/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
vi OKT507-android-source/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi
3、修改配置:
添加:GPIO驱动
vi linux-4.9/arch/arm64/configs/sun50iw9p1smp_t507_android_defconfig
添加时注意顺序的前后!
GPIO权限配置:vi OKT507-android-source/android/device/softwinner/okt507-c/init.device.rc
Putty终端信息为:
编译打包生成镜像,烧写
在/sys/class/路径下可以查看到节点:
4、测试方法 (测试时需要进入su模式)
计算 gpio 对应引脚的数值=(n-1)*32+x (设 A 为 1,B 为 2,以此类推,H 对应的是 8) (PH2 中 x 表示 2)。
PH2 对应的数值为:(8-1)x32+2=226 PH3 对应的数值为: (8-1)x32+3=227
进入su模式:
PH2 设置为输出:
echo 226 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio226/direction
echo 1 > /sys/class/gpio/gpio226/value //此时用万用表测 PH2 引脚的电压,应该为高电平(3.3V)
echo 0 > /sys/class/gpio/gpio226/value //此时用万用表测 PH2 引脚的电压,应该为低电平(0V)
PH3 设置为输入:
echo 227 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio227/direction //设置为输入模式
系统取消导出:
echo 226 > /sys/class/gpio/unexport
echo 227 > /sys/class/gpio/unexport