目录
前言
1.通过GPIO子系统驱动LED灯.
2.配置LINUX内核打开GPIO子系统功能.
3. 通过不用编写代码的方法实验灯亮LED的实验.
4.对GPIO系统初始了解的目的.
1.原理图
使用的是PE12这个IO口,计算一个IO编号: PE=4*32, IO编号 = 4*32 +12= 140.
注解一下:
PAX = 0*32 + X
PBX = 1*32 + X
PCX = 2*32 + X
PDX = 3*32 + X
PEX = 4*32 + X
看上面大家一定都会了.不会的话,自己看文档吧.
2.查看是否有/sys/class/gpio这个目录
ls /sys/class
我已经有这个内核驱动程序.
3.重新配置内核
如果没有 gpio 这个项驱动,我们需要重新配置内核
首先cd到buildroot目录下,对kernel单独进行编译,输入的命令如下:
make linux-menuconfig
选中它并保存,退出menuconfig,编译它
补充一下buildroot常用操作:
1、单独编译 uboot
make uboot-menuconfig
make uboot-rebuild V=1
2、单独编译 kernel
make linux-menuconfig
make linux-rebuild V=1
3、单独编译配置busybox
make busybox-menuconfig
清理无效缓存 重新打包
rm -rf output/target; find output/build/ -name .stamp_target_installed | xargs rm ; make
4、编译sdcard 最小系统镜像
下面配置一般只需要第一次执行
make BR2_EXTERNAL="../br2t113pro ../br2lvgl " 100ask_t113-pro_sdcard_core_defconfig
uboot、kernel、rootfs 改动都需要执行make V=1
make V=1
编译完便开始烧录,这里略过。
4./sys/class/gpio目录介绍
再次cd到刚刚那个文件夹,可以看到刚刚没有的gpio目录已经出现:
gpio目录下各个目录的作用:
以后再补上,这个自己要学习一下吧.
5.测试
# echo out > /sys/class/gpio/gpio140/direction
# echo "1" > /sys/class/gpio/gpio140/value
# echo "0" > /sys/class/gpio/gpio140/value
导出GPIO口:
echo 引脚编号 > export
echo 140 > /sys/class/gpio/export
配置IO的方向为输出
echo out > /sys/class/gpio/gpio140/direction
输出IO的值
echo "1" > /sys/class/gpio/gpio140/value
echo "0" > /sys/class/gpio/gpio140/value