Доброго всем дня!
Делаю образ Extension PCI ROM. Прошиваю его в PCI-E плату. И с соответствующими изменениями в mini-PCI-E плату. Обе поочереди вставляю в слот PCI-E (для mini есть переходник).
Размер образа 32 Кбайта. В заголовке PCI указывается правильное число страниц, для отображаемого образа.
Заметил, что на обычной PCI-E плате отображается только 16Кбайт. Причем образ начинает работать, то есть противоречий с crc, подсчитанной от 32Кб нет. Но при прыжке на адрес за пределами 16Кбайт всё виснет. Кода там нет. Если не выходить за пределы 16Кб, то всё работает.
Для платы mini-PCI-E такого не происходит и весь код отображается и работает нормально.
Вопрос: это особенность ПЛИС платы PCI-E? Это разработчики платы PCI-E так сделали?
Но как тогда считается crc от образа, ведь в заголовке PCI указан размер отображаемого образа и crc должно считаться от него, а если она не совпадает, то и образ запускаться не должен...
Доброго всем дня!
Делаю образ Extension PCI ROM. Прошиваю его в PCI-E плату. И с соответствующими изменениями в mini-PCI-E плату. Обе поочереди вставляю в слот PCI-E (для mini есть переходник).
Размер образа 32 Кбайта. В заголовке PCI указывается правильное число страниц, для отображаемого образа.
Заметил, что на обычной PCI-E плате отображается только 16Кбайт. Причем образ начинает работать, то есть противоречий с crc, подсчитанной от 32Кб нет. Но при прыжке на адрес за пределами 16Кбайт всё виснет. Кода там нет. Если не выходить за пределы 16Кб, то всё работает.
Для платы mini-PCI-E такого не происходит и весь код отображается и работает нормально.
Вопрос: это особенность ПЛИС платы PCI-E? Это разработчики платы PCI-E так сделали?
Но как тогда считается crc от образа, ведь в заголовке PCI указан размер отображаемого образа и crc должно считаться от него, а если она не совпадает, то и образ запускаться не должен...