[an error occurred while processing this directive] [an error occurred while processing this directive]
Как на сях работать с прерываниями и абсолютными адресами (ADSP 2185)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применениеЛ)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Evgen 07 мая 2001 г. 10:58

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: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru