linux 设备驱动的重点和难点

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/aqing1987/p/4334381.html