[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Нужно обратить внимание на состояние конф. пространства (а именно BAR0) после выхода по exсeption. Содержит ли ли сразу после этого BAR0 нормальный изначальный адрес?
Возможно, причина в сигналах IDSEL, AD0, AD1. Дело в том, что IDSEL - это на самом деле просто один из старших разрядов. На него отдельно полагаться нельзя, *только совместно* с первым падением FRAME#, при CBE=101x (configuration r/w) и AD0=AD1=0 (зд. header type). Также, в начале всех транзакций Memory R/W проверяйте помимо AD[31..24] еще и AD0=AD1=0 (зд. burst type).
На длительной выборке велика вероятность (в случае какой-то некорректности во влиянии упомянутых сигналов) попадания в BAR0, его затирания и последующего декодирования target-ом не своих обращений.
--IgorK
E-mail: info@telesys.ru