История изменений
Исправление 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 можно получить доступ к отдельным их битам.
Нет, 0x2000
0000 - это начало SRAM, а нужно брать адрес базы и к нему прибавлять 32МБ (MAGICK), чтобы получить адрес битбанд-региона. 32МБ — это 0x0200
0000.
Думаю, это только больше запутает. У нас есть две области данных и две области битбандов. Какие у них абсолютные адреса нам в общем-то безразлично, важно смещение от начала области.
То есть не 0x2000'0000 + 0x0200'0000 = 0x2200'0000
а 0x2000'0000 -> 0x2200'0000