linux驱动开发学习步骤
时间:2008-05-09
来源:互联网
2. 编一应用程序,可以用makefile跑起来
3. 学会写驱动的makefile
4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。
5. 写一完整驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。
6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。
7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。
8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。
9. 看内核中实际应用的驱动代码。 你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节是之前不知道的。 这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。
推荐您看2.6.20中integrated的一个驱动 kvm, 记得是在driver/lguest下,很好玩的, 就是linux下的虚拟机驱动, 代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚拟机中, 然后客户机可以有自己的4G虚拟地址空间。
10. 看完驱动欢迎您进入Linux kernel学习中来。
最简单的方法,跟着ldd(linux devive driver)做一遍。
转自byr, ParadiseLost的帖子。
作者: Mwany 发布时间: 2008-05-09
作者: pangheming 发布时间: 2009-08-07
作者: jawanli 发布时间: 2009-08-17
作者: js001sdx 发布时间: 2009-08-19
作者: fantasy1148 发布时间: 2009-08-20
作者: nerissa 发布时间: 2010-01-08
作者: 0312221024 发布时间: 2010-01-08
作者: ffbp 发布时间: 2010-01-08
哈哈
感谢!
作者: zhangbohtz 发布时间: 2010-02-02
作者: xzqiu2010 发布时间: 2010-03-18
作者: 浩瀚天魔 发布时间: 2010-03-18
作者: hooao 发布时间: 2010-03-19
作者: hooao 发布时间: 2010-03-19
作者: cuijianlei2007 发布时间: 2010-05-10
作者: 咖啡男孩 发布时间: 2010-07-05
作者: lishiyong110 发布时间: 2010-07-05
作者: hualiu0131 发布时间: 2010-08-03
作者: haoxingfeng 发布时间: 2010-08-18
作者: lyanxia28 发布时间: 2010-08-19
作者: swei 发布时间: 2010-08-26

作者: hp370440182 发布时间: 2010-08-26
作者: dengt 发布时间: 2010-09-03
作者: shao13081352 发布时间: 2010-11-17
作者: Lyndon 发布时间: 2010-11-17
作者: yyxl 发布时间: 2010-12-08
作者: linuxmm 发布时间: 2010-12-15
作者: 373622116 发布时间: 2011-03-14
作者: txgc_wm 发布时间: 2011-03-27
作者: stephenyong 发布时间: 2011-03-28
作者: txgc_wm 发布时间: 2011-03-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28