大家好,今天小编关注到一个比较有意思的话题,就是关于linux 底层驱动学习的问题,于是小编就整理了2个相关介绍Linux 底层驱动学习的解答,让我们一起看看吧。
如何自学linux驱动开发,做驱动开发需要哪些方面的知识?
做嵌入式应用的话一般的编程就可以了。那么嵌入式驱动开发与内核开发的话就需要学习多个方面的知识。我就把这方面的要求给你交流一下:(一家之言啊,自己多年从事嵌入式开发的一点感悟)嵌入式驱动开发需要了解的知识大概有以下几类:
每一个操作系统都有自己的构架,应该了解驱动在整个系统中的具体位置与构建驱动程序的主要事项2 总线知识,比如PCI、USB总线。
3 芯片知识。
驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识5 C++基本用不上,主要是C和汇编。
(图片来源网络,侵删)
6 做驱动最好要懂内核调试(比如说linux)
arm底层驱动怎么学?
1、精通ARM体系结构,ARM汇编与C编程;
2、精通ARM***接口电路,如IO、中断系统、串口、AD、触摸屏、定时器、PWM、看门狗、IIC、实时时钟RTC等;
(图片来源网络,侵删)
3、精通linux系统开发,如内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程;
4、熟悉内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容;
到此,以上就是小编对于linux 底层驱动学习的问题就介绍到这了,希望介绍关于linux 底层驱动学习的2点解答对大家有用。