Здравствуйте,
Может сталкивался кто-нибудь с подобным?
Делаю HOST для Crdabus на FPGA. Шина, можно сказать, такая же как PCI-32bit.
На данном этапе читаю конфигурационное пространство карточек PC Card.
Все данные, такие как Device ID, Vendor ID и т.д., читаются нормально.
Следующий шаг: надо прописать базовый адрес устройства в Base Address Register 0 (BAR0).
Согласно алгоритму, для того, чтобы узнать максимально возможное адресуемое
устройством пространство необходимо:
1. Записать в BAR0 0xFFFFFFFF.
2. Прочитать BAR0.
3. Первая значащая еденица (со стороны младших бит), будет указывать на
адресуемое устройством пространство.
У меня получается, что в пункте 2 я считыавю для всех карточек все время число 0xFFFF0000.
Проверяю на ноутбуке тот же алгоритм для тех же карточек - получаю совсем другие числа:
для одних 0xFFFFFF00 для других 0xFFFFE000.
Может знает кто-нибудь в чем проблема?