aio-rk3399j编写多个gpio的驱动

网盘链接: https://www.aliyundrive.com/s/ZXc5wiBhL1Y.

一、修改设备树

  路径/KMP600C/kernel/arch/arm64/boot/dts/rockchip/把带rk3399的设备树文件都替换掉,一共34个(见网盘)

二、添加驱动文件

  路径/KMP600C/kernel/drivers/,添加文件夹gpio_cst,Kconfig文件中添加:

    source "drivers/gpio_cst/Kconfig"

  Menuconfig文件中添加:

    obj-$(CONFIG_GPIO_3_D6)		+= gpio_cst/
	obj-$(CONFIG_GPIO_3_D7)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A0)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A3)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A4)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A5)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A6)		+= gpio_cst/
	obj-$(CONFIG_GPIO_4_A7)		+= gpio_cst/

  打开gpio_cst文件夹,添加驱动文件、Kconfig文件和Menuconfig文件(见网盘)。

三、修改上一级目录中的Kconfig和Makefile

四、

1.生成.config文件

  路径/KMP600C/kernel/,

    make menuconfig

  生成.config文件。

2.编译内核、烧写程序

  路径/KMP600C/

    ./build.sh kernel
    sudo ./rkflash.sh boot

3.编译测试程序

  测试程序见网盘。放到虚拟机中编译:

    arm-linux-gnueabihf-gcc -static -o gpio_APP gpio_test.c

  再把gpio_APP文件放到开发板中,最好放到用户目录下,别的地方好像会出错。

    sudo chmod 777 gpio_APP

四、测试

    ./gpio_APP /dev/gpio_3_D6 1
    ./gpio_APP /dev/gpio_3_D6 0    

  用如下命令行调试:

	cat /sys/kernel/debug/gpio
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值