如何学习linux设备驱动
int type) { irqdbf("s3c_irqext_type: called for irq %d, type %dn", irq, type); return 0; } 原来并没有实现.而在较高版本的内核,如2.6.26内核中,这个函数是实现了的.你一定要小心.当平台函数不好用时,一定要查查原因,或者直接操作硬件寄存器来达到目的. ● 2.6内核设备模型对驱动的影响 在2.6内核中写设备驱动和在2.4内核中有着很大的不同,主要就是在设备驱动中融入了比设备驱动本身结构还复杂、还难以理解的设备模型.初学驱动时你可以不理会设备模型,但你会发现内核里的驱动代码基本上都是融入了设备模型的了.很多时候你不得不面对现实,还是要弄懂它,并且它也的注册方法也会随着内核的升级而发生变化.解决此类问题的最好方法还是参考目标内核驱动代码. 总结: 开始学习设备驱动时,选择一个当前比较流行的内核版本和硬件平台,不急于追赶最新潮流.这样你可以找到的网络资源会比较多,不至于有孤军奋战的感觉.我想这个过程应该不低于1年.当过了这个过程后,尝试将你编写过的驱动移植到各个目标平台上.
(本文参考了一些网上资料,因原出处不详,特向资料的原作者致谢!) 嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习
|
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |