本章最主要的问题:
1.Linux 2.6内核的编译
编译内核的步骤:
(1)下载内核源代码 我用的是fedora7,所以它的内核源代码路径是:/usr/src/kernels,如果这个路径下是空的,则表明你没有安装内核源代码,可以自己去下载
解压命令
[root@localhost src]# tar jxvf linux-2.6.21.tar.bz2
(2)make menuconfig配置
(3)make dep
(4)make clean
(5)make bzImage
(6)make modules
(7)make modules_install
(8)depmod -a
2.在Linux中,设备驱动程序应完成的主要功能为:
(1)对设备进行初始化
(2)设备使用完成后对设备进行相应的清理工作
(3)从设备接收数据并将之返回给内核
(4)将数据从内核送至设备
(5)检测和处理设备出现的问题
3.通常Linux驱动程序接口可分为如下四层:
(1)应用程序进程与内核的接口
(2)内核与文件系统的接口
(3)文件系统与设备驱动程序的接口
(4)设备驱动程序与硬件设备的接口
4.其他基础知识:
Linux内核需要访问两类设备:即字符设备和块设备,对应为字符设备驱动程序和块设备驱动程序。
Linux设备由一个主设备号和一个次设备号标识。主设备号唯一标识了设备的类型,它是块设备表和字符设备表中设备表项的索引;次设备号仅由设备驱动程序解释,用于识别同类设备中,I/O设备请求所涉及到的那个设备。