一. 简介
前面几篇文章学习了如何使用Linux内核自带的Led驱动。一篇文章通过对驱动分析,了解了驱动与设备匹配的关键点。
一篇文章学习了如何配置使能Linux内核自带的Led驱动,第二篇文章学习创建Led设备树节点(针对使用Linux内核自带的Led驱动的使用)。文章如下:
Linux内核自带的LED灯驱动框架:驱动与设备匹配分析-CSDN博客
Linux内核自带的 LED 灯驱动实验:Linux内核自带 Led驱动使能-CSDN博客
Linux内核自带的 LED 灯驱动实验:创建Led设备节点-CSDN博客
本文将新编译生成的 zImage与设备树 imx6ull-alientek-nand.dtb加载运行到开发板上,确认使能驱动与创建Led设备节点后,文件系统中是否存在对应的文件。
二. 将zImage与设备树文件拷贝到开发板的文件系统下
注意:这里开发板是通过 tftp服务加载的方式,从ubuntu系统加载 zImage和设备树文件的。所以,这里把zImage拷贝到 ubuntu系统中tftp服务所设置的目录下。
将前面编译生成的 zImage拷贝到开发板的文件系统:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ cp ./arch/arm/boot/zImage /home/wangtian/linux/tftp_file/ -f
拷贝设备树imx6ull-alientek-nand.dtb 到开发板系统下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ cp ./arch/arm/boot/dts/imx6ull-alientek-nand.dtb /home/wangtian/linux/tftp_file/ -f
三. 开发板上电
开发板上电后,进入开发板的文件系统。
1. 确认Linux内核自带的Led驱动是否使能
通过内核配置界面使能了 Linux内核自带的Led驱动,而该驱动使用的是platform框架。
通过驱动代码 platform_driver结构体成员中 .driver.name 为 "leds-gpio"。
所以,正常情况下,可以到 开发板文件系统的 /sys/bus/platform/drivers目录下会存在 leds-gpio文件夹:
/sys/bus/platform/drivers
进入 以上目录下:
可以看到,存在 leds-gpio。说明驱动使能已经配置。
2. 查看所创建的Led设备节点
进入开发板文件系统 /sys/bus/platform/devices/目录下,查看是否存在名字为 "kernel_led" 的led设备,因为我所创建的 Led设备节点为 kernel_led:
可以看到,在 /sys/bus/platform/devices/目录下,可以看到存在 kernel_led设备。说明设备树节点也创建好。
但是 Linux自带的Led驱动是否可用,也就是功能是否可用,还需要测试。