[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 28 апреля 2002 г. 17:33
В ответ на: Помогите и мне побороть злодейку PCI ... отправлено Шурик 28 апреля 2002 г. 15:36

В фазе адреса на линиях AD[31:0] будет 379h. В фазе данных – 00008100h, либо XXXX81XXh, в любом случае правильный байт будет указан при помощи CBE[3:0]# и AD[1:0], CBE в фазе данных будет XX01b -в случае использования команды
outportb (0x379, 0x81);
Правда, в дешифраторе адреса AD[1:0] использовать затруднительно, так как значение BARx для I/O в двух младших битах должно быть 01b (и не может быть изменено). Также, трудно использовать для дешифрации AD[31:16], поскольку очень многие машины (Intel- и AMD-based) оставляют в BARx[31:16] значение FFFFh, не записывая туда 0000. Так что, если основная платформа – PC x86, то для I/O участвуют в дешифрации AD[15:2]. При чтении все 4 байта должны принимать какие-то значения несмотря на CBE[3..0]#.
Также см. специф, , гл. 3.2.2 (если rev. 2.1), “Addressing”.

P.S. Это общие сведения, без привязки к рассматриваемому вами проекту. Может быть, кому-то есть что добавить.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru