日期:2014-05-16  浏览次数:20717 次

学习linux驱动程序的必备条件
大家好,小弟初学LINUX,以前学习过ARM7的板子。现在想直接学习LINUX的驱动程序编写。由于现在ARM9的试验箱老是会出问题,所以我想问下,学习驱动程序编写的初级阶段,一定要有ARM9的硬件设备吗?可以先在虚拟机下可以学习如何编写驱动程序吗?(小弟有那本LINUX驱动程序编写的经典书籍)还请赐教,不胜感谢

------解决方案--------------------
可以的,你跟着Linux Device Driver那本书实验就可以的
------解决方案--------------------
www.oreilly.com
www.oreilly.com.cn
------解决方案--------------------
当然可以咯。 

先了解kernel 中的常用接口, 常用的设备模型, 并不需要特定的硬件。
------解决方案--------------------
有条件感觉学起来快点 我也在学
------解决方案--------------------
其实就驱动程序而言,建议你在PC上先着手。这样更方便学习和调试,入门后再上ARM板子的BSP.
------解决方案--------------------
那的意思是直接学习移植么?
------解决方案--------------------
mark
------解决方案--------------------
共同学习,呵呵
------解决方案--------------------
我最近花了一个多月来学linux。之前我和仁兄那样,不打算找个板子,在虚拟机上面玩玩就行了。的确在虚拟机可以玩很多实验和验证很多知识。但是后来我拿到板子再来玩,我噻,连一个最基本的程序都跑不起来,因为不同环境,因为一些很多书本和人家的网页经验没有提到的细节,你会给一个莫名其妙的错误提示搞几个礼拜。但是你经历过了,你会豁然开朗,那个才是你自己的真正吸收和收获。
学《东邪西毒》里面的一句话,有鞋和没有鞋的杀手,价钱是差很远的。
------解决方案--------------------
最好有开发板
------解决方案--------------------
探讨
那我现在的虚拟机是REDHAT 2.4.20的内核,LDD3要求的是2.6.10的内核版本。
那么我把2.4升级到2.6就可以了?如果是2.6.18这样的版本,比2.6.10高级,应该没问题吧?

然后就能在虚拟机里根据书上的做实验了

------解决方案--------------------
不一定要开发板,不要忽略,我们手头上的电脑就是很不错的硬件了

建议直接使用Linux代替Windows吧,然后,在VirutalBox上装一个测试驱动用的Linux,这样,通过虚拟串口和GDB就可以实现源代码级的内核/Driver的开发了

------解决方案--------------------
mark
------解决方案--------------------
连一个最基本的程序都跑不起来,因为不同环境,因为一些很多书本和人家的网页经验没有提到的细节,你会给一个莫名其妙的错误提示搞几个礼拜。但是你经历过了,你会豁然开朗,那个才是你自己的真正吸收和收获

每一个搞驱动的必经过程, 要不那来经验? 搞这个要有耐心,, 任重而道远...努力!
------解决方案--------------------
同意10楼的