Linux 字符设备驱动概念

运用程序、内核、硬件关系图

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、硬件操作;

①看原理图,确定引脚;

②看手册,操作寄存器;

③编写代码;