linux 设备驱动的重点和难点

1. 编写linux设备驱动,要求工程师具备一定的硬件基础,懂得SRAM, Flash, SDRAM, 磁盘的读写方式,

    UART, I2C, USB等设备的接口,轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理MMU。

2. 具备好的C语言基础,可灵活运用结构体,指针,函数指针及内存动态申请和释放。

3. 有一定的linux 内核基础,至少要明白驱动与内核的接口,

4. 要求工程师有非常好的多任务并发控制和同步的基础,因为在驱动中会大量使用自旋锁、互斥、信号量、等

    待队列等并发与同步机制。

5. linux驱动的分析方法是点面结合,将对函数和数据结构的理解放在整个框架的背景之中。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。