Цитата(Сергей Борщ @ Jan 25 2012, 09:29)

Нет, не нарушит. Для такого прерывания ContextSwitcher_ISR ничем не отличается от фоновой задачи в "обычной" системе. И раз "обычные" системы работают...
Понятно.
Тогда можно в дополнении к разрешению прерываний в ContextSwitcher_ISR убрать TCritSect из OS_ContextSwitchHook(правда там не очень долгий код).
Цитата
Только запретить прерывание системного таймера может быть мало — другие «осевые» прерывания могут возникать. Разрешить прерывания — и они полезут.
Если плохо запретить, то полузут и всё посыпется, это ясно.
Цитата
Или в конкретном приложении переключения процессов возникают только от таймера, асинхронно от периферии не возникают?
Только от таймера.
От периферии не возникают (если и будут, то - вне ОСи).
Цитата
На мой взгляд, если переключение контекста (менее двухсот тактов процессора для AVR) — это слишком долго, то нужно что-то менять.
Менять нужно, согласен. Но сложно.
Цитата
Или более быстрый процессор.
АВР быстее не может.
ARM ещё не освоен, то есть быстро не поменяешь.
Цитата
или невытесняющая ОС со всем «быстрым» в прерываниях.
Не нашёл пока подходящего варианта.