十步学会Linux驱动开发

系统 Linux
微软Windows 7的流行不会挤掉Linux,这是无需置疑的,如果你是Linux的用户,你想更加深入了解,如果你遇到Linux驱动开发问题,这里将介绍Linux驱动开发学习必要的步骤,在这里拿出来和大家分享一下。

微软Windows 7的流行不会挤掉Linux,这是无需置疑的,如果你是Linux的用户,你想更加深入了解,如果你遇到Linux驱动开发问题,这里将介绍Linux驱动开发学习必要的步骤,在这里拿出来和大家分享一下。

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学习中来。

这样你就能轻松完成Linux驱动开发的操作步骤了。

【编辑推荐】

  1. Linux操作系统 PK uCLinux操作系统
  2. 袁萌为你讲解“小Linux”
  3. 抛弃Linux操作系统选择微软?
  4. 解决Linux网银更好网上购物
  5. Linux开源项目***辉煌
责任编辑:小霞 来源: 百度博客
相关推荐

2014-01-14 09:14:17

SQL数据库

2012-10-17 09:52:01

2011-05-04 10:52:25

架构网站

2010-12-17 17:46:54

负载均衡负载均衡配置

2010-10-11 16:16:52

身份安全访问管理

2013-03-05 10:48:59

虚拟桌面系统VDI

2010-05-27 15:50:39

2019-12-17 09:00:00

AI人工智能医疗诊断

2010-04-15 11:34:09

Oracle数据库重新

2023-02-24 15:10:46

机器学习数据集

2011-12-21 09:41:44

虚拟化服务器虚拟化

2015-01-28 11:19:59

2012-02-06 09:30:27

System Cent微软私有云

2022-08-13 13:00:43

SQL语言

2012-12-28 09:58:50

程序员代码编程

2009-10-14 09:33:22

Web开发人员

2014-08-29 10:06:25

2022-05-16 19:45:22

云迁移云计算

2010-01-08 14:15:41

SAP中国企业管理

2019-09-17 16:56:39

深度学习人工智能
点赞
收藏

51CTO技术栈公众号