设备树(device tree)学习笔记一

  • 如何查看编译生成的设备树的内容?

在设备树学习的时候,如果可以看到最终生成的设备树的内容,对于我们学习设备树以及分析问题有很大帮助。这里我们需要使用设备树生成工具dtc的反汇编功能

[email protected]:~/tq2440/Linux/linux-4.0.1# ./scripts/dtc/dtc -h
Usage: dtc [options] <input file>

Options: -[qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv]
  -q, --quiet
    Quiet: -q suppress warnings, -qq errors, -qqq all
  -I, --in-format <arg>
    Input formats are:
        dts - device tree source text
        dtb - device tree blob
        fs  - /proc/device-tree style directory
-o, --out <arg>
    Output file
  -O, --out-format <arg>
    Output formats are:
        dts - device tree source text
        dtb - device tree blob
        asm - assembler source
  -V, --out-version <arg>
    Blob version to produce, defaults to %d (for dtb and asm output)
  -d, --out-dependency <arg>
    Output dependency file
  -R, --reserve <arg>
    tMake space for <number> reserve map entries (for dtb and asm output)
  -S, --space <arg>
    Make the blob at least <bytes> long (extra space)
  -p, --pad <arg>
    Add padding to the blob of <bytes> long (extra space)
  -b, --boot-cpu <arg>
    Set the physical boot cpu
  -f, --force
    Try to produce output even if the input tree has errors
  -i, --include <arg>
    Add a path to search for include files
  -s, --sort
    Sort nodes and properties before outputting (useful for comparing trees)
  -H, --phandle <arg>
    Valid phandle formats are:
        legacy - "linux,phandle" properties only
        epapr  - "phandle" properties only
        both   - Both "linux,phandle" and "phandle" properties
  -W, --warning <arg>
    Enable/disable warnings (prefix with "no-")
  -E, --error <arg>
    Enable/disable errors (prefix with "no-")
  -h, --help
    Print this help and exit
  -v, --version
    Print version and exit

假设我们最终的设备树文件是:arch/arm/boot/dts/s3c2416-smdk2416.dtb

./scripts/dtc/dtc -I dtb -O dts -o output.dts arch/arm/boot/dts/s3c2416-smdk2416.dtb

输出文件output.dts就是反汇编的结果,他就是实际生成的设备树。

  • Linux配置,支持设备树
make menuconfig ---> Boot options ---> Flattened Device Tree support
  • Linux 编译设备树

可以看看arch/arm/boot/dts/Makefile中你要的那个设备树的dtb文件是否配置上了。

make dtbs

==

时间: 2024-10-30 04:15:13

设备树(device tree)学习笔记一的相关文章

内核如何解析设备树Device Tree

1) 首先将从u-boot 传递过来的映像基地址和dtb 文件映像基地址保存通用寄存器r30,r31: 2) 通过调用machine_init() --> early_init_devtree()函数来获取内核前期初始化所需的bootargs,cmd_line等系统引导参数: 3) 调用start_kernel() --> setup_arch() -->unflatten_device_tree()函数来解析dtb文件,构建一个由device_node结构连接而成的单项链表,并使用全局

Linux device tree 简要笔记

第一.DTS简介     在嵌入式设备上,可能有不同的主板---它们之间差异表现在主板资源不尽相同,比如I2C.SPI.GPIO等接口定义有差别,或者是Timer不同,等等.于是这就产生了BSP的一个说法.所谓BSP,即是是板级支持包,英文全名为:Board Support Package.是介于主板硬件和操纵系统之间的一层.每一个主板,都有自己对应的BSP文件.在kernel/arch/arm/mach-* 目录下,放置着不同主板的BSP文件,比如展讯的某一个项目的BSP文件为: 1 kern

基于设备树的controller学习(1)

作者 彭东林[email protected] 平台 TQ2440Linux-4.10.17 概述 在设备树中我们经常见到诸如"#clock-cells"."#dma-cells"."#reset-cells"."#phy-cells"."#iommu-cells"."#pwm-cells"."#hwlock-cells"."#io-channel-cell

设备树网址【原创笔记】

设备树学习网址 DTS: http://blog.csdn.net/21cnbao/article/details/8457546 http://www.wowotech.net/device_model/why-dt.html IRQ_DOMIAN: http://www.wowotech.net/linux_kenrel/irq-domain.html PINCTRL: http://blog.csdn.net/mike8825/article/details/51475985 http:/

矩阵树定理(Matrix Tree)学习笔记

如果不谈证明,稍微有点线代基础的人都可以在两分钟内学完所有相关内容.. 行列式随便找本线代书看一下基本性质就好了. 学习资源: https://www.cnblogs.com/candy99/p/6420935.html http://blog.csdn.net/Marco_L_T/article/details/72888138 首先是行列式对几个性质(基本上都是用数学归纳法证): 1.交换两行(列),行列式取相反数 2.由1.得若存在两行(列)完全相同则行列式为0 3.上(下)三角行列式即主

Link Cut Tree学习笔记

从这里开始 动态树问题和Link Cut Tree 一些定义 access操作 换根操作 link和cut操作 时间复杂度证明 Link Cut Tree维护链上信息 Link Cut Tree维护子树信息 小结 动态树问题和Link Cut Tree 动态树问题是一类要求维护一个有根树森林,支持对树的分割, 合并等操作的问题. Link Cut Tree(林可砍树?简称LCT)是解决这一类问题的一种数据结构. 一些无聊的定义 Link Cut Tree维护的是动态森林中每棵树的任意链剖分. P

树链剖分学习笔记

先让我们看一个题目 有一棵n个节点的树,树的每条边有个边权,有如下两种操作 1.修改一条边的边权 2.查询两点之间路径的权值 对于这种题目,可能有人会选择直接暴力,这很明显不行. 换一种思路,如果我们把树的每一条边拆下来,对他们进行编号,然后使用线段树来存储呢?使用线段树来对每条边的边权进行修改和查询是很方便的.于是这样我们就引出了树链剖分. 树链剖分其实就是把一棵树上的各个边拆开来进行处理,从而对树的整体进行划分. 将树划分为链,用数据结构来维护这些链,时间复杂度大致为O(log n) . 在

k-d tree 学习笔记

以下是一些奇怪的链接有兴趣的可以看看: https://blog.sengxian.com/algorithms/k-dimensional-tree http://zgjkt.blog.uoj.ac/blog/1693 https://en.wikipedia.org/wiki/K-d_tree http://homes.ieu.edu.tr/hakcan/projects/kdtree/kdTree.html k-d tree就是一个把一个平面(或超平面)划分的东西- 例如一维情况就是在划分

BZOJ 2595: [Wc2008]游览计划 [DP 状压 斯坦纳树 spfa]【学习笔记】

传送门 题意:略 论文 <SPFA算法的优化及应用> http://www.cnblogs.com/lazycal/p/bzoj-2595.html 本题的核心就是求斯坦纳树: Steiner Tree: Given an undirected graph with non-negative edge weights and a subset of vertices, usually referred to as terminals, the Steiner tree problem in g

基于设备树的controller学习(2)

作者 彭东林 [email protected] 平台 TQ2440 Linux-4.10.17 概述 上一篇大概介绍了一下demo-controller的结构,下面结合驱动分析. 正文 正文部分阅读PDF或为知笔记. 完.