[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: см. внутри(+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено IgorK 23 сентября 2001 г. 00:11
В ответ на: 101-й ворос по PCI. отправлено Elresearch 22 сентября 2001 г. 18:03

До:
Старшая часть BARx - read/write, хранятся нули;
Младшая часть BARx - read only, селектор memory/io 4/2 мл. бит + остальные для memory - где располагать (4GB/1MB), prefetch да/нет, остальные нули.
Во время инициализации система пытается прописать в BARx значение 0xFFFFFFFF. Таким образом, в старшей части оказываются единицы. Размер этой части позволяет системе судить о требуемом объеме адресного пространства. Так, например, хотим иметь BAR0 i/o, 256 байт; BAR1 memory, 1MB --> делаем read_only 8 мл. бит (i/o) и 20 мл. бит (memory) --> система прочитает 0xFFFFFF01 и 0xFFF00000, и вторым шагом, зная о требуемых объемах, выделит адресное пространства и пропишет на место единиц базовые адреса. Для i/o в старших 16 разрядах могут остаться единицы, но на них не нужно обращать внимание.

Вряд ли рационально хранить Config Memory во Flash. Если Altera, то неизменяемая часть Conf.Mem займет 1 EAB.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru