Цитата(XVR @ Nov 13 2009, 13:11)

PCI работает в терминах 3х разных адресных пространств - память, IO и конфигурационное. В последнем пространстве расположены регистры, отвечающие за работу собственно PCI устройства. Там есть некоторый набор стандартных регистров, по содержимому которых система опознает тип PCI устройства (да и вообще его наличие). Если вы не реализуете хотя бы минимальный набор этих регистров, ваше PCI устройство никто не увидит.
Смотрите описание PCI.
Так, что-то получилось.. устройство видится как PCI Scope, так и в диспетчере устройств Windows, сконфигурировал адресное пространство, назначил базовый адрес, включил I/O и MEM space decoding. что получилось смотрите на картинках.
во первых смущает строка "Problem 00000001h" Кто знает, что она значит?
во вторых, базовый адрес я назначил 80000000h - 80001FFFh, теперь мне не понятно, а как читать/писать во внутренние регистры устройства по этим адресам?
в устройстве есть:
REG_ONLY_READ BASE_ADDR + x"00000000"
REG_ONLY_WRITE BASE_ADDR + x"00000004"
REG_READ_AND_WRITE BASE_ADDR + x"00000008"
И возможно ли это вообще с помощью PCI-scope и без какого либо драйвера? Необходимо какой-то скрипт писать на С для этого?
Сообщение отредактировал mSimple - Nov 13 2009, 13:52
Эскизы прикрепленных изображений