Цитата(DmitryR @ Jan 20 2009, 17:18)

Драйвер мастера сообщает ему (по некоторому своему внутреннему протоколу), по каким адресам на шине зарегистрировалось устройство, куда надо данные гнать (а драйвер сам узнает это или сканируя устройства, или пользователь ему сообщает, каким устройством пользоваться). Подразумевается, что мастер знает алгоритм работы устройства, поэтому зная адрес он берет туда просто и пишет.
Не въеду. К примеру драйвер TV тюнера говорит что по адрессу 0x08b0000 находится видео ОЗУ. После этого устройство, может по этому адрессу тупа слать данные?
(PCI Express Compiler User Guide)
Я могу в tx_desc0[127:0] прописать что это 0x08b0000, длинну, что это ОЗУ, и просто выдавать данные? Просто по нажатию к примеру на кнопку на карточке, я поднимаю tx_req0, дожидаюсь tx_ack0, и начинаю последовательно слать данные в видео ОЗУ?
А может устройство само прочитать что-то из видоОЗУ? Я не понял как. Нужно послать запрос на чтение по какому-то адресу, и устройство должно как-то сообразить, что на этот запрос нужно ответить.