[an error occurred while processing this directive]
JTAG RTDX для С64 - трабл, help needed!
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Zizo 28 октября 2005 г. 15:44

Подскажите, если кто сталкивался, проблема такая:
при передаче от DSP к HOST, канал встаёт в ступор после передачи некоторого количества данных, примерно чуть меньше чем 500Кб. DSP стоит на RTDX_writing != 0, т.е. канал вроде как занят, HOST получает статус ENoDataAvaliable, т.е. новых данных нет! Попытки по таймоуту повторить RTDX_write ни к чему не приводят, она внутри видимо что-то еще проверяет, т.к. пытался даже по хамски RTDX_writing = 0 сделать, RTDX_write упорно возвращает NULL. Размер передаваемых блоков, периодичность передачи, прием на ХОСТ блоками или словами влияния не оказывают, результат один - ступор. Передавай хоть по одному 32 бит слову раз в 100мс. В системе перестают ходить прерывания, на которых сидит RTDX_Poll, попытки вызывать его "мануально", в коде, ни на что не влияют, ступор неотвратим, как смерть капитализма. Одновременно тестируется только одно направление, т.е. HOST->DSP каналы в этом тесте не используются, хотя и проинициализированы. Объем и количество буферов в конфигураторе RTDX влияют только на "границу" ступора, т.е. количество переданного, 500Кб при дефаулт настройках (CCS 3.0) 4 буфера по 1024. При рестарте программы HOST, она выгребает из драйвера всё ранее переданное, вплоть до момента ступора, т.е. делаю вывод, что вероятно забивается некий буфер внутри драйвера, функций для его принудительного сброса в RTDX COM API вроде нету. Хотя конечно причина может и не в этом. Интересен также факт, что при передаче HOST->DSP достигается скорость до 55Кб/с, а DSP->HOST всего 8-12Кб/с.

Если кто такую проблему решил, подскажите пожалуйста, как это объехать!

Раньше проблем "не было", т.к. едва ли пару киобайт сообщениями забивали, а сейчас траффик увеличился и наехали.

Моя конфигурация :
Target
CCS 3.0 соответственно lib и dll от него
камень С6414 (ревизию не помню, могу посмотреть), 720MHz.
RTDX - Continuous Mode, буфера 1024байта, количеством 4 шт.
В коде RTDX подключается через DSP/BIOS, RTDX_Poll сидит на прерывании.

HOST
Эмулятор PCI510 SCANовский, MS VC 6.0

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru