我正在学习嵌入式开发中,非常想知道如何能成为一个好的驱动开发工程师?开发出的什么样的驱动才算是好的驱动程序?为什么很多人认为驱动开发很困难?有经验的驱动开发工程师比经验较少的工程师强在哪些地方?这些问题从我刚开始接触到一点驱动开发的时候就困扰我了,身边也没有可以回答这样问题的人,希望在这个卧虎藏龙的地方得到高人的指点,让我将来少走些弯路。在此小弟先对任何回答我问题的人致以崇高的敬意以及万分感谢!
由于自身对驱动开发认识尚浅 ,提出的问题可能很幼稚 ,
希望各位高手指点迷津, 再次跪拜求教!!!!!!
有一个牛人说:驱动很简单,只是往port上送数据,从port上读数据.后来体会了一段时间,也的确是这样.
谢谢楼上的回答
这样的话做驱动开发真是前途渺茫啊,真的有点不甘心,难道驱动开发真的无法走的很深很深吗?
小可搞了三四年的Linux下驱动开发,窃以为要做驱动得具备一定的硬件功底,其次是对操作系统要很熟悉.driver虽然是往port上送数据,但要保证送得正确高效可就是不是那么简单.总的来说,做驱动尽量把复杂问题简单化.越简单,效率越高,出错的概率越小.
引用: 引用 4 楼 nengnengwin_2007 的回复:
小可搞了三四年的Linux下驱动开发,窃以为要做驱动得具备一定的硬件功底,其次是对操作系统要很熟悉.driver虽然是往port上送数据,但要保证送得正确高效可就是不是那么简单.总的来说,做驱动尽量把复杂问题简单化.越简单,效率越高,出错的概率越小.
同意LS的说法,做好驱动要对硬件、OS、数据结构有比较深入的了解。
谢谢楼上两位的回答,编程最终境界是走向了算法研究,驱动开发是不是最终也需要研究高深的算法才能做出好的驱动程序?
驱动开发是不是最终也需要研究高深的算法才能做出好的驱动程序===>当然不是,驱动主要是和底层打交道,获取数据和读写数据,应该是越简单越好,在驱动内可不是搞大动作的好地方。
做驱动需要你软硬通吃,基础知识扎实,知识体系完整。
最重要的是,你要有独自一人面对问题的勇气和决心,有独自一人搞定问题的魄力和信心,有独自一人啃下整本厚厚的datesheet的耐心和毅力。
反复品味楼上几位的高手的真言,感到受益匪浅,
谢谢,谢谢!
硬件的知识面+对驱动架构的知识面+对内核的深入程度+操作系统扎实的基础知识+灵活的思维方式+实践经验 = 一个优秀的驱动开发工程师