一、
Linux对驱动的处理分两种方式,一是直接编译进内核,二是以模块的方式进行动态的加载。(insmod: insmod *.ko 卸载rmmod:rmmod 模块名称)
驱动的出入口函数:入口宏函数 module_init(参数:入口驱动函数)
出口宏函数 module_exit(参数:驱动卸载函数)
二、字符设备驱动注册分析:
1、静态申请设备号:register_chrdev_region()
动态申请设备号:alloc_chrdev_region()
获取设备号:MAJOR(dev)
获取次设备号:MINOR(dev)
设备号:MKDEV(主设备号,次设备号),为无符号31位类型的横竖,用其高12位表示主设备号,低20位表示次设备号
初始化设备:cdev_init() 设备注册:cdev_add()