栗子1:

 cpus {
#address-cells = <>;
#size-cells = <>;
cpu@ {
compatible = "arm,cortex-a9";
reg = <>;
};
cpu@ {
compatible = "arm,cortex-a9";
reg = <>;
};
};

在上面的代码里面:

#address-cells = <1>;//表示用一个32位的数来描述地址

#size-cells = <0>;//表示用0个32位的数来描述该地址的大小

上面两个信息#address-cells和#size-cells主要用来描述子节点里面reg的信息

reg里面的个数,应该是address-cells + size-cells的整数倍

上面的解析为:reg的起始地址为0

regulators {
compatible = "simple-bus";
#address-cells = <>;
#size-cells = <>;
reg_usb_otg1_vbus: regulator@ {
... //其他一些信息
reg = <0x00001 0x01 0x000010 0x02>;
};
};

上面的代码的解析为:

reg的起始地址为0x0001 大小为0x01

reg的起始地址为0x000010 大小为0x02

上面代码里面:address-cells + size-cells = 2

那么reg里面的描述值就应该是2个倍数。并且每2个为一组。

上面列举的regulator这个节点可能不是很适合这个里面,但是在这里,只是想描述address-cells 、size-cells、reg三者的关系。

例子3

 external-bus {
#address-cells = <>
#size-cells = <>;
... ethernet@, {
compatible = "smc,smc91c111";
reg = < 0x1000>;
interrupts = < >;
}; i2c@, {
compatible = "acme,a1234-i2c-bus";
#address-cells = <>;
#size-cells = <>;
reg = < 0x1000>;
interrupts = < >;
rtc@ {
compatible = "maxim,ds1338";
reg = <>;
interrupts = < >;
};
}; flash@, {
compatible = "samsung,k8f1315ebm", "cfi-flash";
reg = < 0x4000000>;
};
};

设备树里面#address-cells 、#size-cells、reg三者的关系的更多相关文章

  1. linux设备树笔记__dts基本概念及语法【转】

    转自:http://www.360doc.com/content/15/1113/11/15700426_512794532.shtml 设备树手册(Device Tree Usage)原文地址:ht ...

  2. 我眼中的Linux设备树(六 memory&chosen节点)

    六 memory&chosen节点根节点那一节我们说过,最简单的设备树也必须包含cpus节点和memory节点.memory节点用来描述硬件内存布局的.如果有多块内存,既可以通过多个memor ...

  3. Linux设备树(六 memory&chosen节点)

    六 memory&chosen节点 根节点那一节我们说过,最简单的设备树也必须包含cpus节点和memory节点.memory节点用来描述硬件内存布局的.如果有多块内存,既可以通过多个memo ...

  4. 设备树..ing

    .dts==>.dtb ==>device_node ==>  platform_device ==> led_dev.c  ==>匹配 led_drv.c    (设备 ...

  5. 宋牧春: Linux设备树文件结构与解析深度分析(1) 【转】

    转自:https://mp.weixin.qq.com/s/OX-aXd5MYlE_YoZ3p32qWA 作者简介 宋牧春,linux内核爱好者,喜欢阅读各种开源代码(uboot.linux.ucos ...

  6. 《linux设备驱动开发详解》笔记——18 ARM linux设备树

    18.1 设备树的起源 linux 2.6及之前,大量板级信息被硬编码到内核里,十分庞大,大量冗余代码: linux 2.6之前,引入了设备树: 设备树源于OpenFirmware,描述硬件的数据结构 ...

  7. Linux设备树文件结构与解析深度分析

    Copy from :https://blog.csdn.net/woyimibayi/article/details/77574736 正文开始 1. Device Tree简介 设备树就是描述单板 ...

  8. 设备树的规范(dts)

    设备树的官方文档: https://www.devicetree.org/specifications/ 一.理论部分 如何看下面这张图: 1)从根节点开始看起,即 / 2)在根节点中有属性以及设备节 ...

  9. ARM设备树

    学习目标:学习设备树相关内容: 一.概念 在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,在kernel中存在大 ...

随机推荐

  1. spark MLlib 概念 3: 卡方分布(chi-squared distribution)

    数学定义[编辑] 若k个随机变量.--.是相互独立,符合标准正态分布的随机变量(数学期望为0.方差为1),则随机变量Z的平方和 被称为服从自由度为 k 的卡方分布,记作 Definition[edit ...

  2. @RequestMapping注解学习

    1.@RequestMapping注释用于映射url到控制器类或一个特定的处理程序方法.可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. 参考地址:https://ww ...

  3. vue-解决弹出蒙层滑动穿透问题

    最近开发过程中遇到一些小问题(似乎问题总是那么多),但一直没什么时间去优化与解决.程序员不能被业务绑架,有时间还是花点在代码上

  4. 1.2 Mac下配置maven环境变量

    1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.下载Mave ...

  5. 如何将打印内容转换为bmp位图文件

    bmp是一种与硬件设备无关的图像文件格式,使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大.BMP文件的图像深度可选lbit.4bit.8 ...

  6. golang开发问题

    开发问题: How to find out which types implement which interface in Golang? How do you quickly find the i ...

  7. 安装 Genymotion及其破解版 测试能用的方法

    第一,照下面的教程  先安装 https://blog.csdn.net/sxk874890728/article/details/82721746 安装 Genymotion及其破解版 2018年0 ...

  8. Elasticsearch 6.2.3版本 同一个index新增type报错 Rejecting mapping update to [website] as the final mapping would have more than 1 type: [blog2, blog]

    在website的index下已经存在一个名为blog的type.想在website下,新增一个名为blog2的type. 执行语句如下: PUT /website/blog2/1 { "t ...

  9. 微信小程序的配置详解

    1.配置详解: 使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. 1>pages 接受一个数组,每一项都是字符串,来指定小 ...

  10. docker容器和宿主机之间复制文件

    https://blog.csdn.net/u012416928/article/details/55049063 https://blog.csdn.net/u011596455/article/d ...