Linux 字符设备驱动概念
运用程序、内核、硬件关系图
字符驱动编写步骤:
1、写出框架;
①参考现有的驱动,拷贝头文件;
②构建file_operations结构体;
将open,write,reade等函数准备好,具体功能可以后面慢慢完善,内部加上return 0;
③编写入口函数,init、exit
register_chrdev(major, "led_drv", &led_drv_fops); // 注册
unregister_chrdev(major, "led_drv");
④修饰入口函数
module_init(led_drv_init);
module_exit(led_drv_exit);
⑤给sys_fs提供更多信息
udev机制可以自动创建设备节点
通过class、class_device
⑥加上license
2、硬件操作;
①看原理图,确定引脚;
②看手册,操作寄存器;
③编写代码;