如何理解address-cell以及size-cell:

转自https://blog.csdn.net/weixin_38239856/article/details/80744938

#address-cells表示用几个cell表示地址,#size-cells表示用几个cell表示地址长度

Example1

/ {
    #address-cells = <0x1>; //在 root node下使用1个u32来代表address。
    #size-cells = <0x0>; // 在root node下使用0个u32来代表size。
    ...
    ...
    memory {        // memory device
        ...
        reg = <0x90000000>;
            // 0x90000000是存取memory的address
        ...
    };
    ...
    ...
}

Example2

/ {
    #address-cells = <0x1>; //在root node下使用1个u32来代表address。
    #size-cells = <0x1>; //在root node下使用1个u32来代表size。
    ...
    ...
    memory { // memory device
        ...
        reg = <0x90000000 0x800000>;
            // 0x90000000 是存取 memory 的 address
            // 0x800000 是 memory 的 size。
        ...
    };
    ...
    ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Example3

/ {
    #address-cells = <0x2>; // 在root node下使用2个u32来代表address。
    #size-cells = <0x1>; // 在root node下使用1个u32来代表size。
    ...
    ...
    memory { // memory device
        ...
        reg = <0x90000000 00000000 0x800000>;
            // 0x90000000 00000000 是存取memory的address
            // 0x800000 是memory的size。
        ...
    };
    ...
    ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Example4

/ {
    #address-cells = <0x2>; // 在root node下使用2个u32来代表address。
    #size-cells = <0x2>; // 在root node下使用2个u32来代表size。
    ...
    ...
    memory { // memory device
        ...
        reg = <0x90000000 00000000 0x800000 00000000>;
            // 0x90000000 00000000 是存取memory的address
            // 0x800000 00000000 是memory的size。
        ...
    };
    ...
    ...
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值