Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с модулем SIO в DSP/BIOS
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Сигнальные процессоры и их программирование - DSP
Manuchin_serg
Может кто знает - столкнулся со следующей проблемой:
Есть следующий код для SIO:

attrs = SIO_ATTRS;
attrs.align = BUFALIGN;
attrs.model = SIO_ISSUERECLAIM;

outStream = SIO_create("/udevCodec", SIO_OUTPUT, BUFSIZE, &attrs);
if (outStream == NULL) {
SYS_abort("Create output stream FAILED.");
}



buf2 = (Ptr)MEM_calloc(0, BUFSIZE, 1);
buf3 = (Ptr)MEM_calloc(0, BUFSIZE, 1);
// память выделяется

if (SIO_issue(outStream, buf2, SIO_bufsize(outStream), NULL) != SYS_OK) {
SYS_abort("Error issuing buffer to the output stream");
}

if (SIO_issue(outStream, buf3, SIO_bufsize(outStream), NULL) != SYS_OK) {
SYS_abort("Error issuing buffer to the output stream");
}
буфера регистрируются нормально.

if (SIO_reclaim(outStream, (Ptr *)&outbuf, NULL) < 0) {
SYS_abort("Error reclaiming empty buffer from the output stream");
}
А вот на этой строчке все виснет. Т.е. Операциока не может мне выдать только, что зарегистрированный буфер. Может кто знает как это лечиться?????
AndrewN
Цитата(Manuchin_serg @ Feb 26 2009, 12:44) *
А вот на этой строчке все виснет.

TSK заблокирована вызовом SIO_reclaim, и ждет, когда драйвер скопирует
данные из SIO_OUTPUT массива и вернёт его, или кода таймаут кончится.
По умолчанию, таймаут = infinite, и если драйвер не возвращает буфер
(т.е. просто не передает данные), то то и разблокирование не произойдет.

--
AN
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.