第二部分 Linux设备驱动程序 第一章 设备驱动简介 设备驱动程序的角色 是内核的一部分,属于内核中的设备管理子系统 是应用程序和实际设备间的软件层 提供对硬件的基本操作,如open,read,write,ioctl,close等 只提供硬件操作机制,如何使用硬件(操作策略)应由应用决定,驱动不应该包含策略 驱动程序既可以直接编译到内核中(zImage),或者编译为可动态加载的模块(.ko文件,用insmod程序加载) Linux设备的分类 字符( char ) 设备 -是一种可以按字节流来存取的设备 -实现 open, close, read, 和 write等系统调用 -文本控制台( /dev/console )和串口( /dev/ttyS0)、内存、Flash等 块(block)设备 -按整块数据存取(如512字节) -如磁盘设备(/dev/hda) -可以带有文件系统 网络设备 -负责网络数据包的发送和接收,如eth0 第二章 内核模块基础 模块代码结构 hello world模块实例分析 hello.c 初始化和退出函数 初始化函数module_init()-由insmod调用 -注册设备,请求资源等 退出函数module_exit()-由rmmod调用 -取消设备注册、释放资源等 初始化中的错误处理(goto的使用) int __init my_in
原创力文档

文档评论(0)