Gamma SPb (27.06.2007 15:10, просмотров: 1) ответил M@ik на Вопрос по TNKernel
может быть несколько причин 1. задаче не хватат стека, соответственно контроллер рестрартует потому что exeption по переполнению стека вроде у меня там не обрабатывается. Проверить просто - введите вектор
<c>
void __attribute__((interrupt, no_auto_psv)) _StackError (void)
{
for (;;);
}
</c>
2. кривая работа библиотеки. По умолчанию поток stdout пишет в буфер а потом потихоньку выводит в UART. Лечится использованием fflush(stdout); после printf(..); или так
<c>
setbuf(stdout, NULL);
</c>
И еще. На сайте старая версия - новую мне чего-то никак не выложить. Поэтому-
а) используйте только один приоритет прерывания для вызова сервисов
б) если используете DSP ядро - обрамляйте мютексом функции работы с ним, так как статусные регистры DSP-ядра не сохраняются
постараюсь новую версию скоро выложить, а пока, чтобы поучиться эту можно попользовать