我对内存映射的声明如下:
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x20000000>;
};
memory@200000000 {
device_type = "memory";
reg = <2 0x00000000 0 0x20000000>;
};
reg(基本大小)中每个数字的含义是什么?
答案 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>;