登录 注册
当前位置:主页 > 资源下载 > 10 > 入门Linux驱动程序设计

入门Linux驱动程序设计

  • 更新:2024-11-18 23:35:32
  • 大小:468KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Linux - 操作系统
  • 格式:RAR

资源介绍

目前,Linux软件工程师大致可分为两个层次: (1)Linux 应用软件工程师(Application Software Engineer):主要利用 C 库函数和 Linux API进行应用软件的编写; (2)Linux 固件工程师(Firmware Engineer):主要进行 Bootloader、Linux 的移植及 Linux 设备驱动程序的设计。 一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的 Linux 设备驱动 编程又是 Linux 程序设计中比较复杂的部分,究其原因,主要包括如下几个方面: (1)设备驱动属于 Linux 内核的部分,编写 Linux 设备驱动需要有一定的 Linux操作 系统内核基础; (2)编写 Linux 设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对 一个特定的嵌入式硬件平台编写驱动的; (3)Linux 设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现 bug; (4)由于属于内核的一部分,Linux 设备驱动的调试也相当复杂。 目前,市面上的 Linux 设备驱动程序参考书籍非常稀缺,少有的经典是由 Linux 社区的 三位领导者 Jonathan Corbet、Alessandro Rubini、Greg Kroah-Hartman编写的《Linux Device Drivers》(目前该书已经出版到第 3 版,中文译本由中国电力出版社出版)。该书将 Linux 设备驱动编写技术进行了较系统的展现,但是该书所列举实例的背景过于复杂,使得读者需 要将过多的精力投放于对例子背景的理解上,很难完全集中精力于 Linux 驱动程序本身。