扁平设备树中内存映射声明的含义
Meaning of declaration of Memory map in flattened device tree
我有如下内存映射声明:
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x20000000>;
};
memory@200000000 {
device_type = "memory";
reg = <2 0x00000000 0 0x20000000>;
};
reg(基本尺寸)中每个数字的含义是什么?
两种说法
reg = <0 0x40000000 0 0x20000000>;
reg = <2 0x00000000 0 0x20000000>;
意味着,使用了 64 位寻址方案。但是,设备树中的每个数字 'cell' 代表一个 32 位字段。因此,这些数字必须一起读作:
Addr: 0x040000000 Size: 0x020000000
Addr: 0x200000000 Size: 0x020000000
因此,您在两个不同的地址段有两个 512MiB RAM 范围。
请在您的 dts/dtsi 文件中查找声明,例如:
#address-cells = <2>;
#size-cells = <2>;
我有如下内存映射声明:
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x20000000>;
};
memory@200000000 {
device_type = "memory";
reg = <2 0x00000000 0 0x20000000>;
};
reg(基本尺寸)中每个数字的含义是什么?
两种说法
reg = <0 0x40000000 0 0x20000000>;
reg = <2 0x00000000 0 0x20000000>;
意味着,使用了 64 位寻址方案。但是,设备树中的每个数字 'cell' 代表一个 32 位字段。因此,这些数字必须一起读作:
Addr: 0x040000000 Size: 0x020000000
Addr: 0x200000000 Size: 0x020000000
因此,您在两个不同的地址段有两个 512MiB RAM 范围。
请在您的 dts/dtsi 文件中查找声明,例如:
#address-cells = <2>;
#size-cells = <2>;