Мда, в следующий раз видимо все исходники в тему впиньдюришь, может начнется новая страница (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Sergey Pinigin 13 марта 2003 г. 14:50
В ответ на: !!!HELP!!!HELP!!! В чем глюк порта uCOS2 под MSP430 при использовании OSIntExit? если заменяю вызовы OSIntEnter/OSIntExit на OSIntNesting++/OSIntNesting-- ВСЕ РАБОТАЕТ ИДЕАЛЬНО! Соблюдаю все правила создания обработчика прерывания по доке uCOS, в отладчике прошелся - при переключении контекстов с момента прерывания и до выхода в прерваную задачу стек в норме ничего лишнего/недостающего не наблюдается, однако ЧЕРЕЗ НЕКОТОРОЕ СЛУЧАЙНОЕ ВРЕМЯ РАБОТЫ (от3сек до 3 МИНУТ, а прерывания идут каждую сеукунду) ПРОИСХОДИТ ЗАВИСАНИЕ ИЛИ СБРОС! при зависании видно что было переполнение стека или LPM0 (в TaskIdleHook) при запрещенных прерываниях... если убрать LPM0 из IdleHook'а, то стабильно сбрасывается еще быстрее... подробности внутри отправлено SOIC 13 марта 2003 г. 14:34

Доку видимо так и не открывал...
OSIntEnter/OSIntExit и OSIntNesting++/OSIntNesting-- - это не одно и тоже, фирштейн?...

По OSIntExit происходит вытеснение(если необходимо), выполняемая задача прерывается, управление передается другой, которая ожидала что-то и это что-то случилось... Вот там очевидно и неправильно переключатся стек.



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

Ответы



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

E-mail: info@telesys.ru