在展平设备树中声明存储器映射的含义

时间:2018-05-05 13:31:23

标签: memory device-tree

我对内存映射的声明如下:

memory@40000000 {
    device_type = "memory";
    reg = <0 0x40000000 0 0x20000000>;
};

memory@200000000 {
    device_type = "memory";
    reg = <2 0x00000000 0 0x20000000>;
};

reg(基本大小)中每个数字的含义是什么?

1 个答案:

答案 0 :(得分:0)

这两个语句

reg = <0 0x40000000 0 0x20000000>;
reg = <2 0x00000000 0 0x20000000>;

表示使用64位寻址方案。但是,设备树“单元”中的每个数字代表一个32位字段。因此,必须将数字一起读为:

Addr: 0x040000000 Size: 0x020000000
Addr: 0x200000000 Size: 0x020000000

因此,您在两个不同的地址段上有两个512MiB RAM范围。

请在您的dts / dtsi文件中查找声明,例如:

#address-cells = <2>;
#size-cells = <2>;