【Linux】linux设备驱动归纳总结
前言:
(总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!)
前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。
我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一版来归纳的。文章中涉及一些自己的想法,并不能保证所说的一定正确。 我也是一位linux初学者,在这里发博也是想跟大家分享技术,同时也希望别人能够指正错误。
我把一些知识点拆分来讲述,文章会写得比较长,而且章节涉及的知识不会很多,但这是我复习时的思路。
因为我学习的是ARM-linux,除了第一章外,其他的代码都是通过交叉编译后在ARM9上运行,我使用的内核版本是我学习时候使用的2.6.29内核。
以下的文章若有侵权,请马上与我联系,我一定立即删除。
|
|---------1.1、linux设备驱动的作用
| 1.2、内核代码树介绍
| 1.3、内核补丁
| 1.4、内核中的Makefile
| 1.5、子目录下的Makefile和Kconfig
| 1.6、内核和模块的编译
·linux设备驱动归纳总结(二):模块的相关基础概念
|
|---------2.1、初探linux内核模块——hello world!
| 2.2、内核中的printk
| 2.3、模块传参——module_param
| 2.4、内核函数间的调用——EXPRORT_STMBOL
·linux设备驱动归纳总结(三):1字符型设备之设备申请
·linux设备驱动归纳总结(三):2open.close.read.write
·linux设备驱动归纳总结(四):5.SMP下的竞态和并发
·linux设备驱动归纳总结(五):1.在内核空间分配内存
·linux设备驱动归纳总结(五):2.操作硬件——IO内存
·linux设备驱动归纳总结(五):3.IO静态映射
·linux设备驱动归纳总结(五):4.写个简单的LED驱动
·linux设备驱动归纳总结(六):1.中断的实现
·linux设备驱动归纳总结(六):2.分享中断号
·linux设备驱动归纳总结(六):3.中断下半部之tasklet
·linux设备驱动归纳总结(六):3.中断下半部之工作队列
·linux设备驱动归纳总结(七):1.时间管理与内核延时
·linux设备驱动归纳总结(七):2.内核定时器
·linux设备驱动归纳总结(八):1.总线、设备和驱动
·linux设备驱动归纳总结(八):2.match.probe.remove
·linux设备驱动归纳总结(八)3设备模型的分层与面向对象
·linux设备驱动归纳总结(八):4.总线热插拔
·linux设备驱动归纳总结(九):1.platform设备驱动
·linux设备驱动归纳总结(十):1.udev&misc
·linux设备驱动归纳总结(十一):简单的看门狗驱动
·linux设备驱动归纳总结(十二):简单的数码相框
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2011.2.19修改《linux设备驱动归纳总结(一):内核的相关基础概念》
2011.2.22修改《linux设备驱动归纳总结(二):模块的相关基础概念》
【Linux】linux设备驱动归纳总结的更多相关文章
- linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-119723.html linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟 xxxxxxxxxx ...
- linux设备驱动归纳总结(十二):简单的数码相框【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-116926.html linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxx ...
- linux设备驱动归纳总结(十一):写个简单的看门狗驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-112879.html linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxx ...
- linux设备驱动归纳总结(十):1.udev&misc【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-111839.html linux设备驱动归纳总结(十):1.udev&misc xxxxxxx ...
- linux设备驱动归纳总结(九):1.platform总线的设备和驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-111745.html linux设备驱动归纳总结(九):1.platform总线的设备和驱动 xxxx ...
- linux设备驱动归纳总结(八):4.总线热插拔【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-110774.html linux设备驱动归纳总结(八):4.总线热插拔 xxxxxxxxxxxxxxx ...
- linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-110738.html linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想 xxxxxx ...
- linux设备驱动归纳总结(八):2.总线、设备和驱动的关系【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-110295.html linux设备驱动归纳总结(八):2.总线.设备和驱动的关系 xxxxxxxxx ...
- linux设备驱动归纳总结(八):1.总线、设备和驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-109733.html linux设备驱动归纳总结(八):1.总线.设备和驱动 xxxxxxxxxxxx ...
- linux设备驱动归纳总结(七):1.时间管理与内核延时【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-100005.html linux设备驱动归纳总结(七):1.时间管理与内核延时 xxxxxxxxxxx ...
随机推荐
- Oracle之:Function :func_float()
create or replace function func_float(i_value float) return number is v_index number := 0; v_str var ...
- redis主从配置及其java的调用(转)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/gsying1474/article/de ...
- HDU 6043 - KazaQ's Socks | 2017 Multi-University Training Contest 1
/* HDU 6043 - KazaQ's Socks [ 找规律 ] | 2017 Multi-University Training Contest 1 题意: 一共 n 双袜子编号 1~n,每天 ...
- python 访问列表中的值
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ...
- flask框架(九): 请求和响应扩展以及中间件
一:请求响应扩展 # 每一次访问都执行 # 注意请求之前按照顺序执行 # 请求之后按照书写顺序倒序执行 # 请求之前执行 @app.before_request def process_request ...
- bootstrap列表组的使用
<ul class="list-group"> <li class="list-group-item"> <div class=& ...
- 使用fiddler实现手机抓包
手机上无法直接查看网络请求数据,需要使用抓包工具.Fiddler是一个免费的web调试代理,可以用它实现记录.查看和调试手机终端和远程服务器之间的http/https通信. fiddler没有手机客户 ...
- 简单消息监听容器--SimpleMessageListenerContainer
这个类非常强大,我们可以对他做很多设置,对于消费者的配置项,这个类都可以满足监听队列(多个队列).自动启动.自动声明功能可以设置事务特性.事务管理器.事务属性.事务容量(并发).是否开启事务.回滚消息 ...
- SpringMVC 基础内容及使用步骤
MVC介绍 mvc是一个众所周知的以设计界面应用程序为基础的设计模式. 它主要通过分离模型.视图及控制器在应用程序中的角色将业务编辑从界面中解耦. MVC的核心思想是将业务逻辑从界面中分离出来,允许它 ...
- HighCharts 动态设置 series
var series = new Array(); var map = response.extend.map; $.each(map, function (key,values) { series. ...