|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。
1.学会写复杂的makefile
2.编一使用程序,能够用makefile跑起来
3.学会写驱动的makefile
4.写一复杂char驱动,makefile编译经由过程,能够insmod,lsmod,rmmod.在驱动的init函数里打印helloworld,insmod后应当可以经由过程dmesg看到输入。
5.写一完全驱动,加上read,write,ioctl,polling等各类函数的驱动完成。在ioctl里完成从用户空间向内核空间传送布局体的完成。
6.写一block驱动,加上read,write,ioctl,poll等各类函数完成。
7.复杂进修下内存办理,这个是最难的,分明各类memoryalloc的函数完成细节。这是Linux开辟的基础功。
8.进修锁机制的使用,这个不是最难的可是最简单出错的,触及到良多同步和并发的成绩。
9.看内核中实践使用的驱动代码。你会发明最基础的你已晓得了,年夜的框架都是一样的,不过是read,write,ioctl等函数的完成,但内里包括了良多良多微小的完成细节是之前不晓得的。这时候候就要思索到良多其余成绩而不单单是基础功效的完成。
保举您看2.6.20中integrated的一个驱动kvm,记得是在driver/lguest下,很好玩的,就是Linux下的假造机驱动,代码不长,但功效壮大。有才能的能够本人写一操纵体系依照请求做成磁盘镜像加载到假造机中,然后客户机能够有本人的4G假造地点空间。
10.看完驱动接待您进进Linuxkernel进修中来。
最复杂的办法,随着ldd(Linuxdevivedriver)做一遍
</p>
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln |
|