深入浅出Linux+设备驱动编程(53页).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:53 大小:1.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

深入浅出Linux+设备驱动编程(53页).pdf

深入浅出Linux+设备驱动编程(53页).pdf

预览

免费试读已结束,剩余 43 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录1.引言.....................................................................................................................12.Linux内核模块...................................................................................................23.字符设备驱动程序.............................................................................................44.设备驱动中的并发控制...................................................................................105.设备的阻塞与非阻塞操作...............................................................................166.设备驱动中的异步通知...................................................................................257.设备驱动中的中断处理...................................................................................268.定时器...............................................................................................................309.内存与I/O操作................................................................................................3210.结构化设备驱动程序.....................................................................................3911.复杂设备驱动.................................................................................................4012.总结.................................................................................................................52深入浅出Linux设备驱动编程宋宝华21cnbao@21cn.com1.引言目前,Linux软件工程师大致可分为两个层次:(1)Linux应用软件工程师(ApplicationSoftwareEngineer):主要利用C库函数和LinuxAPI进行应用软件的编写;(2)Linux固件工程师(FirmwareEngineer):主要进行Bootloader、Linux的移植及Linux设备驱动程序的设计。一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的Linux设备驱动编程又是Linux程序设计中比较复杂的部分,究其原因,主要包括如下几个方面:(1)设备驱动属于Linux内核的部分,编写Linux设备驱动需要有一定的Linux操作系统内核基础;(2)编写Linux设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对一个特定的嵌入式硬件平台编写驱动的;(3)Linux设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现bug;(4)由于属于内核的一部分,Linux设备驱动的调试也相当复杂。目前,市面上的Linux设备驱动程序参考书籍非常稀缺,少有的经典是由Linux社区的三位领导者JonathanCorbet、AlessandroRubini、GregKroah-Hartman编写的《LinuxDeviceDrivers》(目前该书已经出版到第3版,中文译本由中国电力出版社出版)。该书将Linux设备驱动编写技术进行了较系统的展现,但是该书所列举实例的背景过于复杂,使得读者需要