1. 编写linux设备驱动,要求工程师具备一定的硬件基础,懂得SRAM, Flash, SDRAM, 磁盘的读写方式,
UART, I2C, USB等设备的接口,轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理MMU。
2. 具备好的C语言基础,可灵活运用结构体,指针,函数指针及内存动态申请和释放。
3. 有一定的linux 内核基础,至少要明白驱动与内核的接口,
4. 要求工程师有非常好的多任务并发控制和同步的基础,因为在驱动中会大量使用自旋锁、互斥、信号量、等
待队列等并发与同步机制。
5. linux驱动的分析方法是点面结合,将对函数和数据结构的理解放在整个框架的背景之中。
时间: 2024-11-09 02:05:51