Цитата(Goofy @ Dec 3 2008, 20:42)

С переключением контекстов вроде как разобрался, простые задачи переключаются, с непростыми пока проблемы.
Постановка вопроса с простыми "не" совершенное непонятна. Принципиально задачи с точки зрения системы все одинаковы по "сложности".
Цитата
На что следует обратить особое внимание при написании задач (tasks), упуская вопросы обработчиков прерываний. Просто в моей системе они отсутствуют.
Ну для начала один присутствует

. Посему проблема одна - дабы не переключили задачу по таймеру, когда нельзя.
Цитата
Проблема с одновременным доступом решается вроде как queue.
Как один из вариантов.
Цитата
Поможет ли тут enter_CRITICAL, exit_CRITICAL от ситуаций когда несколько CS могут оказаться низкими?
Поможет, если эти функции написаны праввильно в Вашем порте. В штатных, если мне память не изменяет, это работает на __disable/enable_interrupt, что дубово, но (если опять-таки обеспечена компенсация документированных багов работы с CPSR в части запрета прерываний)обеспечивает непрерываемость критической секции.