[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Hi, сами мы не местные, в ассемблерах толком не разбираемся...
имеем дело с L-card'овской PCI-ой платой L780 - там 2185 с доступом ко всей памяти с писюка - вроде бы очень удобно...
Про функцию interrupt - знаем, в обработчике прерывания пишем по абсолюным адресам, которые задаются в ассемблерном модуле как
.VAR/SEG=INT_DM_USER/ABS=0x2D82/DM/RAM DspTST1_;
.global DspTST1_;
.INIT DspTST1_: 0x1234;
с писюка читаем с этих адресов.... и имеем какой-то совершенно непонятный гемморой...то вроде бы работает (скажем, прерывание от таймера), чуть сишную программу изменишь - не работает... стек с 200 до 512 изменишь - опять работает, ставлю еще больше - 1024 - уже не работает....
Причем в отладчике (6.1) - все вроде бы нормально...
включаю обработку IRQ2("командное" прерывание, оно генерируется конроллером, который связь DSP с PCI организует) - вообще ничего не работает, даже если не выдавать команду (по которой это прерывание в DSP) получается... опять-таки, в отладчике, если проэмулировать прерывание - то в обработчик iRQ2 попадаем...
Вопрос обычный: хто виноват и куда рыть ?
SY,
EK
E-mail: info@telesys.ru