赞
踩
编写Linux设备驱动要求工程师有非常好的硬件基础,包括对SRAM、Flash、SDRAM、磁盘读写方式,UART、I2C、USB等设备的接口以及轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元MMU等有深入的理解。
编写Linux设备驱动要求工程师有非常好的C语言基础,能灵活地运用C语言的结构体、指针、函数指针及内存动态申请和释放等。
有一定的内核基础,虽然不要求对各个部分深入研究,但是至少要明白驱动和内核的接口。
编写Linux设备驱动要求工程师有非常好的多任务并发控制和同步基础,因为驱动中会大量使用自旋锁、互斥、信号量、等待队列等并发与同步机制。
总体来说,Linux驱动开发重难点在于硬件基础、C语言基础、内核基础以及多任务并发控制和同步机制的理解与应用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。