![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入浅出linux设备驱动编程
文章平均质量分 77
wen_hui
这个作者很懒,什么都没留下…
展开
-
1.引言
1.引言..................................................................................................................... 目前,Linux 软件工程师大致可分为两个层次: (1)Linux 应用软件工程师(Application Software Engineer):主要利原创 2012-01-30 22:54:37 · 181 阅读 · 0 评论 -
2.Linux 内核模块
2.Linux 内核模块 Linux 设备驱动属于内核的一部分,Linux 内核的一个模块可以以两种方式被编译和加 载: (1)直接编译进Linux 内核,随同Linux 启动时加载; (2)编译成一个可加载和删除的模块,使用insmod 加载(modprobe 和insmod 命令类 似,但依赖于相关的配置文件),rmmod 删除。这种方式控制了内核的大小,而模块一旦被 插入内核,它原创 2012-01-30 22:57:35 · 367 阅读 · 0 评论 -
字符设备驱动程序
Linux 下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得 Windows 的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程 序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 Linux 主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以 字符的形式进行原创 2012-01-31 21:46:43 · 313 阅读 · 0 评论 -
4.设备驱动中的并发控制
设备驱动中的并发控制 在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型 的共享资源),可能会引发“竞态”,因此我们必须对共享资源进行并发控制。Linux 内核中 解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。 自旋锁与信号量“类似而不类”,类似说的是它们功能上的相似性,“不类”指代它们在 本质和实现机理上原创 2012-01-31 22:11:13 · 215 阅读 · 0 评论