7.2 Linux:驱动开发——模块机制
驱动开发的四种方法
- mmap映射型设计方法(单片机工程师)——物理地址映射到用户空间
- file_operatiopns 文件操作集
- platform总线型设计方法
- 设备树
一个简单的moudle
- 入口和出口
入口函数:module_init(test_init);驱动的入口
出口函数:module_exit(test_exit);驱动的出口 - 装载和卸载
①驱动可以编译成独立的模块→.ko,然后安装到内核中
驱动装载:#insmod *.ko
驱动卸载:#rmsmod
② 驱动也可以直接编译到内核中 - #modinfo *.ko 查看模块描述信息
- 注意
设计内核驱动时,使用的头文件都在内核源码中,不能使用C语言的库函数(它在文件系统中) - printk
echo 3 > proc/sys/kernel/printk