设备树概念及其在Linux中应用与演变.pdfVIP

  • 1
  • 0
  • 约1.77千字
  • 约 4页
  • 2026-08-06 发布于北京
  • 举报

一.什么是设备树?

设备树是一种描述硬件资源的数据结构。它通过bootloader将硬件资源传给内核,

使得内核和硬件资源描述相对独立。

有了初步概念,我们再来一起探讨设备树的。

二.设备树的由来

要想了解为什么会有设备树,设备树是怎么来的,我们就要先来回顾一下在没有设备

树之前我们是怎么来写一个驱动程序的。以字符设备驱动代码框架为例,我们一起来回顾下。

任何的设备驱动的编写,Linux已经为我们打好了框架,我们只要像做完形填空一样

填写进去就可以了。

字符设备驱动框架:

杂项设备驱动框架:

通过这些框架,我们可以很容易编写我们的驱动代码,但是,当我们用这个框架非常熟练

的时候,我们就会发现虽然这个方法很简单,但是非常不容易扩展,当我们有很多很多相似设

备的时候,如果我们都是按照这个框架来完成,那就要写很多遍这个流程,但是多个相似设备

之间真正有差异的地方只有框架的第四步,也就是初始化硬件的部分,其他步骤的代码基本都

是一样的。这样就会造成大量的重复代码。但是,我们在编写驱动代码的时候,我们要尽量做

到代码的复用,也就是一套驱动尽量可以兼任很多设备,如果我们还按照这个来编写就不太符

合我们的规则了。

为了实现这个目标,我们就要把通用的代码和有差

文档评论(0)

1亿VIP精品文档

相关文档