内核环境
修改设备树
设备树文件:im6ul-14x14-evk.dtsi
pinctrl修改
给出的开发板内核已经默认添加了,gpio-led的pinctrl子节点,即已经设置了管脚的复用
gpio子节点增加
- pinctrl-0属性就是刚刚增加的pinctrl子节点名。
- compatible属性与驱动中的名字匹配
linux内核文档:${KERNEL}/Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt
设备树添加效果
/proc/devicetree
- 在/proc/devicetree目录文件下生成gpioled节点
- 驱动gpioled.ko加载成功
由于驱动需要读取设备树,设备树添加不成功,驱动也不能加载成功
驱动使用
对于字符设备或者杂项设备,都是通过设备节点读写对设备进行操作,所以字符设备驱动加载成功的标志就是是否生成设备节点
设备节点生成:1.mknod手动生成 2. mdev(busybox)在驱动中设定,自动管理设备节点
- 编写测试程序操作驱动生成的设备节点
- 测试