реклама на сайте
подробности

 
 
> Побайтовое обращение к памяти., NiosII
slog
сообщение Nov 29 2008, 19:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Долблю Nios + внешнее ОЗУ в 32 разряда. Хочу писать в память байты а читать слова по 4 байта за раз. Че то не получается. Перепробовал всё и вообще запутался.

Выполняю запись по байтам
for(i=0; i<8; i++)
{
IOWR_8DIRECT(SRAM_BASE, i, i);
}

Потом читаю IORD_32DIRECT(SRAM_BASE, i); получаю
0x00000000
0x00000100
0x00020000
0x03000000

Если читаю IORD(SRAM_BASE, i); получаю
0x00000000
0x00000004

А КАК ПРОЧИТАТЬ 0x03020100 ? Всяко пробовал, не получается. Может дело в Native Address Alignment или Dynamic Bus Sizing? Только не врублюсь в чем разница если я пишу по всем адресам подряд байты, а читаю их потом по 4 за раз. Они же физически должны лежать в памяти как адрес 0 = 0x03020100, адрес 1 = 0x07060504 и т.д.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
slog
сообщение Nov 30 2008, 15:42
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Заработало всё как надо. При подключении 32-х разрядных устройств к авалону линии А0 и А1 надо не подключать. Я об этом догадывался, но на выходе моста для внешней памяти у меня не было лишних адресов и я решил что это сделано уже внутри моста. А адресов лишних не было потому что в единственной настройке у компонента IDT71V416 SRAM надо указывать не емкость микросхемы, а ёмкость всей памяти. Там я и накололся. Ну и адреса должны подключаться со сдвигом на 2. А2 моста на А0 м/сх, А3 на А1 и т.д.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 17:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016