[an error occurred while processing this directive]
|
Всё тот же пункт, два абзаца под таблицей 6-5.
Чтоб определить сколько адресов надо софт (Винда) пишет в BAR 0хFFFFFFFF.
Потом от туда считывает. (Сейчас скажу более точно). Те биты адреса которые будет декодировать ваше устройство должны считываться как нули. (с ограничением на младшие биты). Это то что я называл смещением.
Те биты адреса котрые вне вашего декодирования должны вернуть единицы.
Будет ещё одна операция записи в этот БАР.
В эти единицы Винда и пропишет Базовый Адрес. Его и надо сохранить.
В нормальном рабочем режиме софтина обратится по адресу "Базовый Адрес" + "что то ещё". -> Т.е. обращение к карточке в целом + некий адрес внутри неё.
Т.е. если нужен только 1 байт, то БАР должен бы вернуть 0хFFFFFFFF, но есть ограничения на минимальное декодируемое пространство.
E-mail: info@telesys.ru