LINUX.ORG.RU

История изменений

Исправление COKPOWEHEU, (текущая версия) :

вы запутали меня. их биты лежат по адресу

0x20000000

Нет, там лежит обычная память, состоящая из обычных байтов.

А по адресу 0x4000’0000 лежат регистры периферии.

А по адресу 0x4200’0000 можно получить доступ к отдельным их битам.

Нет, 0x2000’0000 - это начало SRAM, а нужно брать адрес базы и к нему прибавлять 32МБ (MAGICK), чтобы получить адрес битбанд-региона. 32МБ — это 0x0200’0000.

Думаю, это только больше запутает. У нас есть две области данных и две области битбандов. Какие у них абсолютные адреса нам в общем-то безразлично, важно смещение от начала области.

То есть не 0x2000'0000 + 0x0200'0000 = 0x2200'0000 а 0x2000'0000 -> 0x2200'0000

Исходная версия COKPOWEHEU, :

вы запутали меня. их биты лежат по адресу

0x20000000

Нет, там лежит обычная память, состоящая из обычных байтов.

А по адресу 0x4000’0000 лежат регистры периферии.

А по адресу 0x4200’0000 можно получить доступ к отдельным их битам.

Нет, 0x20000000 - это начало SRAM, а нужно брать адрес базы и к нему прибавлять 32МБ (MAGICK), чтобы получить адрес битбанд-региона. 32МБ — это 0x02000000.

Думаю, это только больше запутает. У нас есть две области данных и две области битбандов. Какие у них абсолютные адреса нам в общем-то безразлично, важно смещение от начала области.

То есть не 0x2000'0000 + 0x0200'0000 = 0x2200'0000 а 0x2000'0000 -> 0x2200'0000