Linux驱动开发学习的一些必要步骤

转载 2012年03月24日 10:10:37
1. 学会写简单的makefile

    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)做一遍。

Linux驱动开发学习的一些必要步骤

1.学会写简单的makefile     2.编一应用程序,可以用makefile跑起来     3.学会写驱动的makefile     4.写一简单char驱动,makefile编译通过,可...

Linux驱动开发学习的一些必要步骤.

1. 学会写简单的makefile 2. 编一些应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makef...

Linux驱动开发学习的一些必要步骤

1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmo...

Linux驱动开发学习的一些必要步骤

1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以i...

linux驱动开发的一些必要步骤

  • 2014年03月30日 01:09
  • 69KB
  • 下载

高效学习Linux驱动开发

这本《Linux内核修炼之道》已经开卖(网上的链接为: 卓越、当当、china-pub ),虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到写上去的每段...

转 Linux驱动开发学习日记

http://www.oschina.net/code/snippet_12_364 在学习之前一直对驱动开发非常的陌生,感觉有点神秘。不知道驱动开发和普通的程序开发究竟有什么不同;它的...
  • hoyjam1
  • hoyjam1
  • 2015年11月05日 15:39
  • 183

Linux驱动开发学习笔记

一、 Linux设备驱动基础(基于Linux2.6内核)(参考《Linux Device Drivers 3rd edition》)   Linux Kernel有一个很好的特性,可以支持在运行是进行...

高效学习Linux驱动开发

转载文章,来自:http://blog.csdn.net/fudan_abc/article/details/5756323    前一篇我们谈到了如何高效学习Linux内核,现在我们开始另外一...

linux驱动开发学习路线

结构、操作系统、体系结构、编译原理、计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高 从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码 其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux驱动开发学习的一些必要步骤
举报原因:
原因补充:

(最多只允许输入30个字)