Чип RTL8139 определяет 256 регистров размером в 1 байт, которые Можно Перемещать в пределах адресного пространства памяти PCI или адресного пространства ввода-вывода. Из этих 256 регистров, четыре смежных регистра используются для обращения к содержимому чипа флэш-ROM. Это регистры D4h-D7h. Обратите внимание, что эти четыре регистра Не являются конфигурационными регистрами чипа RTL8139. Это совсем другой набор регистров. В эти регистры можно записывать информацию и считывать ее из них. Значения битов этих регистров перечислены формация, приведенная позволяет заключить, что для доступа, чипу флэш-ROM необходимо выполнить операцию чтения-записи в—D7h чипа RTL8139. Перед выполнением этой операции необходимо определить местонахождение этих регистров в адресном пространстве, так как они не имеют постоянного адреса в адресном пространстве ввода-вывода PCI. Базовый адрес ввода-вывода определяется следующим способом: Сканируется шина PCI на присутствие устройства PCI RTL8139, т. е. устройства PCI, чей идентификатор производителя равен LOECh, А идентификатор устройства — 8139. После того как устройство RTL8139 будет обнаружено, считывается первый регистр BAR данного устройства, чтобы определить его базовый адрес ввода-вывода. Следует помнить, что при определении базового адреса ввода-вывода последние два бита регистра BAR, т. е. биты 0—1, не принимаются во внимание. Бит 1 зарезервирован, а бит 0 жестко установлен в 1 и служит для индикации того, что устройство отображается на адресное пространство ввода-вывода. Поэтому эти биты и не принимают участия в формировании адреса. Один байт из флэш-памяти, расположенной «за» чипом RTL8139, читается в два приема: Записывается адрес байта флэш-ROM, который необходимо прочитать. При выполнении этого шага, значения битов управления регистра D6h должны быть следующими: Бит SwRWEn — 1. Разрешается доступ к чипу флэш-ROM через чип RTL8139. Бит Web — 1. Вывод, который управляется этим битом, имеет активный низкий уровень сигнала. Таким образом, когда этот бит установлен, данный вывод деактивируется, означая, что транзакция, выполняемая с чипом флэш-ROM, не является транзакцией записи. Бит Romcsb — о. Вывод, который управляется этим битом, имеет активный низкий уровень сигнала. Таким образом, установкой этого бита в о активируется линия выборки чипа, к которой данный вывод подключен. Логика этого алгоритма подобна логике чтения содержимого конфигур3ци онного регистра PCI.
Рубрика: Женский интерес