41.驱动--设备树的引入

Device Tree(一):背景介绍

设备树简介_梁的愚见-CSDN博客_设备树的作用是什么

写一个驱动有三种方法:

1.在一个文件中直接分配/设置/注册结构体,硬件的资源跟驱动是在一起。缺点是更换设备需要修改源码

2.使用platform机制,把板子硬件细节写在dev.c文件中,共性驱动部分写在drv.c文件中,当需要更换设备时,只需要更改dev.c即可。缺点:dev.c文件存在于内核中,不同的设备对应不同的dev.c,类似的设备的dev.c有很多共性的部分,造成内核代码冗余

3.设备树是一个描述硬件的数据结构,甚至你可以将其看成一个大结构体(这个结构体就是平台,成员就是具体的设备),将硬件的配置从linux内核的源码中提取出来,放到内核外部。

设备树代替了platform机制下描述硬件细节的dev.c部分,把板级设备细节从dev.c改成dts文件,共性驱动部分仍然写在drv.c文件中。dts文件不在内核中,由bootloder传给platform平台,平台根据dts文件生成dev.c文件。由于dts文件不在内核中,从而解决了类似设备由于共性部分比较多,导致内核代码冗余的问题。

当需要跟换设备时,用户只需要更改设备树,无需再编译内核。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值