Цитата(SM @ Nov 13 2009, 17:18)

Это, извините, как? Базовый адрес назначает BIOS в процессе инициализации PnP PCI. А не Вы (откуда Вы знаете, пересекли свой девайс с кем нибудь на шине или нет? А PnP-манагер знает).
Возможно это разные какие-то базовые адреса
Я сделал PCI Scop'ом следующее:
1. в BAR0 отправил FFFFFFFF, сконфигурировал BAR0 т.о. enable size detection
2. прочитал BAR0, т.о. узнал размер BAR0
3. записал в BAR0 0x8000_0000 - мой базовый адрес
4. записал в Command Register 0x000001C3 - включил I/O и MEM space decoding
5. все, как видно на второй картинке, базовый адрес присвоился (до этого он был равен 0x00000000) и диаппазон соответствует указанному мной внутри устройтва )
Цитата
А читать-писать без драйвера никак. Надо замапить пространство памяти карты в виртуальное пространство процесса, что можно сделать только из нулевого кольца. Или, как вариант, расположиться в IO-space и спокойно работать через нечто вроде giveio.
А как же я тогда открыв окно DEBUG в PCI Scope и вписав там "R.D 80000000" (команда чтения Double Word по адресу)
вижу
Memory read 80000000: 37550029 ").U7"
Где 37550029 значение записанное в регистр REG_READ_ONLY

Другое дело, почему-то в регистры для записи ничего не пишется (( Будем разбираться дальше