嵌入式linux之——LED驱动(字符设备)

1、先定义驱动函数的出入口和声明协议:
在这里插入图片描述
2、具体的出口和入口函数定义和字符设备驱动的注册过程:
在这里插入图片描述
说明:里面有两个函数register_chrdev_region和alloc_chrdev_region,下面看看它的原型和作用:

如果我们已经知道了所要分配的设备号则用这个函数:
在这里插入图片描述
如果我们不知道设备号,想让系统自动分配,则调用这个函数:
在这里插入图片描述
3、然而还有个结构体file_operations(结构体说明请看我的另一篇文章:嵌入式linux之——LED驱动(杂项设备)):
在这里插入图片描述
4、ioctl直接控制芯片管脚点灯了,没什么技术含量,要注意芯片引脚的计算:
在这里插入图片描述
led_open和led_release暂时是么都没干,留着以后添加吧;

5、加载LED肌肤驱动:insmod led_test.ko

6、查看新加载的设备号: cat /proc/devices
在这里插入图片描述
7、建立设备文件: mknod /dev/led_test c 255 0,然后就可以在dev目录下看到led_test的驱动啦:
在这里插入图片描述
8、点个灯:
在这里插入图片描述
OK,大功告成,洗洗睡吧

猜你喜欢

转载自blog.csdn.net/weixin_45264317/article/details/94591382