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





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)做一遍。
1、 Makefile 是如何编写 eg:
# 这是上面那个程序的 Makefile 文件 main:main.o mytool1.o mytool2.o
1 2 3 4 5 6 7 8 9
gcc -o main main.o mytool1.o mytool2.o main.o:main.c mytool1.h mytool2.h gcc -c main.c
mytool1.o:mytool1.c mytool1.h gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h gcc -c mytool2.c
分析:
在 Makefile 中也#开始的行都是注释行.Makefile 中最重要的是描述文件的依赖关系的说 明.一般的格式是: Linux 操作系统 C 语言编程入门 target

: components TAB rule
//表示的是依赖关系 //规则
mytool1.o mytool2.o 当倚赖的对象在目标修改后修改的话,就要去执行规则一行所指定的命令.就象我们的上 面那个 Makefile 第3行所说的一样要执行 gcc -o main main.o mytool1.o mytool2.o (注意规则一行中的 TAB表示那里是一个 TAB 键)
Makefile 有三个非常有用的变量.分别是$@,$^,$<代表的意义分别是: $@--目标文件;
$^--所有的依赖文件;
$<--第一个依赖文件。
你可能喜欢
- Linux编程
- Linux入门
- Linux内核
- Linux系统命令使用详解
- linux内核启动分析
- 嵌入式驱动开发
- 使用教程
- Linux编程白皮书 (2)14页
- Linux编程实验内容7页
- Linux Shell编程 [兼容模式]47页
- Linux开源编程期末考试13页
- Linux的shell编程11页
- Linux系统编程第2章64页
- Linux入门713页
- Linux入门610页
- Linux入门325页
- Linux入门233页
- Linux 入门常用命令23页
- Linux(入门命令)19页
- Linux内核红黑树使用方法10页
- 优化Linux的内核参数来提高服务器并发处理能力3页
- Linux 内核分析一8页
- Linux2.6内核启动流程13页
- Linux内核Makefile文件17页
- 设备驱动加到Linux内核中3页
- 史上最全Linux系统命令及使用方法详解(程序员)39页
- Linux基本系统命令及其使用详解手册39页
- Linux系统命令及其使用详解39页
- Linux 系统命令及其使用详解26页
- 最新Linux系统命令及其使用详解119页
- Linux系统命令及其使用详解34页
- ARM linux内核启动分析16页
- linux2.6内核启动分析--李枝果(不看是你的损失^_^)22页
- 这是一篇对armlinux内核启动的分析24页
- joyfire的linux-2内核分析—1启动61页
- arm linux内核启动过程(自解压后)的启动分析10页
- linux启动流程分析---内核解压缩过程2页
- 第3章 构建嵌入式驱动程序开发环境9页
- 构建嵌入式驱动程序开发环境3页
- 嵌入式驱动开发38页
- 嵌入式驱动开发21页
- 嵌入式驱动开发要点3页
- 嵌入式驱动开发实验大纲2页
- 查码系统使用教程11页
- SBSettings设置使用教程13页
- overture使用教程52页
- Winpe安装使用教程20页
- YY使用教程1页
- iTunes使用教程9页


