Linux设备驱动与整个软硬件系统的关系

版权声明:This article is a blogger original article, only for study reference, reprint please indicate the source, thank you! https://blog.csdn.net/Rong_Toa/article/details/87993832

Table of Contents

编写Linux设备驱动的技术基础


Linux设备驱动与整个软硬件系统的关系

编写Linux设备驱动的技术基础

  1. 编写Linux 设备驱动要求工程师具有良好的硬件基础,懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设备的接口,轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MMU)等。
  2. 编写Linux 设备驱动要求工程师具有良好的C语言基础,能灵活地运用C语言的结构体、指针、函数指针及内存动态申请和释放等。
  3. 编写Linux 设备驱动要求工程师具有一定的Linux 内核基础,虽然并不要求工程师对内核各个部分有深入的研究,但至少要了解设备驱动与内核的接口,尤其是对于块设备、网络设备、Flash设备、串口设备等复杂设备。
  4. 编写Linux 设备驱动要求工程师具有良好的多任务并发控制和同步的基础,因为在设备驱动中会大量使用自旋锁、互斥、信号量、等待队列等并发与同步机制。

猜你喜欢

转载自blog.csdn.net/Rong_Toa/article/details/87993832