Значение объявления карты памяти в уплощенном дереве устройств - PullRequest
0 голосов
/ 05 мая 2018

У меня есть объявление для карты памяти следующим образом:

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

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

Что означает каждое число в регистре (базовый размер)?

1 Ответ

0 голосов
/ 20 марта 2019

Два утверждения

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

означает, что используется 64-битная схема адресации. Однако каждое число в «ячейке» дерева устройств представляет 32-битное поле. Таким образом, числа должны читаться как:

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

Таким образом, у вас есть два диапазона 512 МБ ОЗУ в двух разных сегментах адреса.

Пожалуйста, найдите объявление в вашем файле dts / dtsi, например:

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