《精通Linux设备驱动程序开发》——1.9 整装待发

    xiaoxiao2024-04-01  114

    本节书摘来自异步社区《精通Linux设备驱动程序开发》一书中的第1章,第1.9节,作者:【印】Sreekrishnan Venkateswaran(斯里克里斯汉 温卡特斯瓦兰)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    1.9 整装待发

    Linux已经涉及的领域十分广泛,代表着最新的技术水平,所以可以基于它来学习操作系统的概念、处理器体系架构,甚至了解各种行业领域。在学习某一设备驱动程序子系统用到的技术时,不妨在更深层次上探索其背后的设计动机。

    在没有明确指明的情况下,本书默认的都是32位x86架构。但是,本书也考虑到你更有可能要为嵌入式设备而非传统的PC兼容的系统编写驱动程序。因此,第6章讲解了两种设备:一个PC衍生器件上的触摸控制器和一个手机上的UART。第8章则讲解了PC系统中的EEPROM和嵌入式设备中的实时钟。本书也介绍了内核为大多数设备驱动程序类所提供的基础设施,它们隐藏了设备驱动程序与体系架构的相关性。

    在本书接近尾声的第21章讨论了设备驱动程序的调试技术,开发驱动程序的时候,提前阅读该章会很有用。

    本书基于2.6内核,它包含了对2.4内核的大量更新,覆盖了所有主要的子系统。因此,希望你已经在系统中安装了基于2.6的内核并开始研究内核源代码。基于以下两个主要的原因,本书的每一章都反复要求读者去阅读相关的内核源文件。

    (1) 因为内核中的每个驱动程序子系统都包含数万行源代码,以本书的篇幅只能列出相对简单的部分内容,对照查看源代码中与书中例子相关的真实驱动程序会让你豁然开朗。

    (2) 在开发驱动程序之前,先参考一个drivers目录中与你的要求相似的现成的驱动程序,把它作为起点是一个好方法。

    因此,为了能更好地消化本书内容,请频繁地浏览源码树并仔细研究代码来熟悉内核。在探索代码的过程中,也请跟踪邮件列表的进展。

    最新回复(0)