美文网首页
Linux设备树由浅及深

Linux设备树由浅及深

作者: 4c6ed2800025 | 来源:发表于2020-04-17 13:27 被阅读0次

0. 写在前面

image.png

1. 深入浅出Device Tree

image.png

在设备树之前,板级信息都是通过硬编码的方式编译进内核的,

TODO:内核中的实际源代码是怎样的

1.2 DTS格式

1.2.1


image.png

1.2.x 设备树实例

2. 深入理解Device Tree的运作原理*

2.1 DTB文件格式

之前猜测DTB文件会是直接把树形结构dump下来,但仔细想想这样也是不合理的,并不能很容易的读取一棵树,通过文档和DTC编译器源码了解到DTB文件的格式是一种扁平化结构,在启动时进行设备树的构建。

TODO:


Device Tree Blob dt_structure image.png

内核如何构建DTB

TODO: 启动阶段内核是如何解析DTB的?

驱动侧如何使用设备树

3. 分析Raspiberry Pi 4B的设备树文件

参考

  1. https://github.com/devicetree-org/devicetree-specification/releases/tag/v0.3

  2. https://www.jianshu.com/p/f2f6e49fb5b6

  3. https://www.raspberrypi.org/documentation/configuration/device-tree.md

  4. https://elinux.org/Device_Tree_Source_Undocumented#conditional_node_compilation

  5. http://www.wowotech.net/device_model/dt-code-file-struct-parse.html

FAQ

  1. Bootloader初始化硬件与Linux设备驱动程序初始化是否重复冗余?

  2. PC与嵌入式的Bootloader有什么不同?
    BIOS 第一阶段,GRUB 、WIndow Bootmgr 第二阶段
    U-BOOT 第一二阶段、加载操作系统之后就不复存在了


    image.png
  3. 时钟树和中断是怎么样工作的?

相关文章

  • Linux设备树由浅及深

    0. 写在前面 1. 深入浅出Device Tree 在设备树之前,板级信息都是通过硬编码的方式编译进内核的, T...

  • 嵌入式系统砖家_初识设备树

    ​目录: 一、加载Linux(有无设备树) 二、设备树入门知识 一、加载Linux(有无设备树) 没有设备树的时候...

  • 由深悟浅

    从前,我们以浅诠释浅。今日懂得,以深理解浅。 万物皆有轮回,深浅亦是。 初始,从浅及深,最终,由深入浅。 ----...

  • 动画时钟-由浅及深

    也是一种思路吧,一步一步写的,js+css3。动态时钟.gif js css html

  • 由浅及深读懂LPR

    什么是LPR 12月20日,央行公布了最新的1年期和5年期以上LPR,依旧是4.15%和4.8%。 实际上,在8月...

  • java枚举由浅及深

    结构 这是最简单的声明方式。下面是复杂一些,也是比较普遍使用的方式 常用属性 通过源码可知,每个枚举元素都包含了这...

  • 大厂Mysql高频面试题 !为什么 B+ 树比 B 树更适合应用

    前言 你可能已经知道B+树被用于Mysql的索引底层实现,那么,为什么是B+树呢?本文由浅及深,带你探索数据库索引...

  • 闻香识女人

    那是让人浮想联翩浪漫的 小溪之花 由深及浅由浅及深 慢慢地散发着她的魅力 它只为一人绽放 那个前世五百年 匍匐前来...

  • Linux和设备树(Device Tree)

    Linux和设备树https://git.kernel.org/pub/scm/linux/kernel/git/...

  • linux驱动之设备树

    一、前言 要学习嵌入式linux设备驱动,就一定逃不过设备树。结果过嵌入式linux的读者都应该知道,设备树是描述...

网友评论

      本文标题:Linux设备树由浅及深

      本文链接:https://www.haomeiwen.com/subject/vnodvhtx.html