如何自学linux驱动开发,做驱动开发需要哪些方面的知识
发布网友
发布时间:2022-04-24 08:51
我来回答
共4个回答
热心网友
时间:2022-06-18 05:07
做嵌入式应用的话一般的编程就可以了。那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要求给你交流一下:
(一家之言啊,自己多年从事嵌入式开发的一点感悟)
嵌入式驱动开发需要了解的知识大概有以下几类:
1 嵌入式操作系统驱动框架。每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具体位置与构建驱动程序的主要事项
2 总线知识,比如PCI、USB总线。
3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理
4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识
5 C++基本用不上,主要是C和汇编。
6 做驱动最好要懂内核调试(比如说linux)
热心网友
时间:2022-06-18 05:08
硬件接口标准(参阅有关总线,设备控制器的技术文档)
操作系统的设备无关的部分
也就是说 驱动位于硬件和设备无关软件之间,向下屏蔽设备的硬件细节,向上为操作系统IO管理机制提供具体的策略。
一者,你即要有系统结构的常识,又要有IO软件层次的常识
二者,必须和参阅硬件接口标准,必须懂操作系统的IO管理的机制。
所以,驱动的编写,即与硬件细节打交道,有和具体的操作系统打交道。
驱动的编写模式单一,只要你啃下这些东西,就OK了,相对而言,不如应用软件难做,只是不少人对系统没有较为深入的理解罢了。
热心网友
时间:2022-06-18 05:08
C和汇编,然后研究linux kernel吧。
热心网友
时间:2022-06-18 05:09
我也想知道