1 要求
合并 LED 、 BUTTON 框 架 驱 动 程 序 :01_led_drv_template 、01_button_drv_template,合并为:gpio_drv_template
详见:
这里的思路和 韦东山嵌入式linux系列-实现读LED状态的功能_嵌入式 led 读取状态-CSDN博客
一模一样,就不赘述了。
编译
2 测试
这只是一个示例程序,还没有真正操作硬件。测试程序操作驱动程序时,只会导致驱动程序中打印信息。首先设置交叉工具链,修改驱动 Makefile 中内核的源码路径,编译驱动和测试程序。启动开发板后,通过 NFS 访问编译好驱动程序、测试程序,就可以在开发板上如下操作了:
在开发板挂载 Ubuntu 的NFS目录
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs/ /mnt
将ko文件和测试代码拷贝到挂载目录,安装驱动
insmod gpio_drv.ko
insmod board_xxx.ko
执行测试程序
./gpio_test /dev/winter_gpio@0 -w on
./gpio_test /dev/winter_gpio@0 -r
./gpio_test /dev/winter_gpio@0 -w off
./gpio_test /dev/winter_gpio@0 -r
./gpio_test /dev/winter_gpio@1 -w on
./gpio_test /dev/winter_gpio@1 -r
./gpio_test /dev/winter_gpio@1 -w off
./gpio_test /dev/winter_gpio@1 -r