Цитата(Golikov A. @ May 7 2014, 10:54)

вроде как при написании диспетчера из прерывания не выходят.... То есть основная идея что вы всегда как бы в прерывании, которое разрешает вложенные прерывания, и прерывает само себя. Вроде как - то так было. А счетчики команд и стэка задач надо инициализировать при создании нитки и потом уже за ними следить. Как - то так...
В реале - не совсем так.
Переключатель контекста (задач) это собсно - ISR. Для Cortex - конкретно PendSV. И должен быть самым низкоприоритетным из всех прерываний.
В нём переключается контекст (стек) задачи Thread-режима. Все задачи выполняются в Thread-режиме, обработчики (и PendSV) - в Handler-режиме.
Выход из Handler - возврат к выполнению задачи (возможно новой, если было переключение в PendSV).
Для переключения задачи из Thread-режима необходимо программно возбудить прерывание PendSV.
PendSV собсно и создано для операционок.
Это вкратце.
Цитата(Forger @ May 7 2014, 11:48)

Ведь есть готовые OS в исходниках под это камень и среду в т.ч, где все УЖЕ СДЕЛАНО как нужно и где все отлажено и работает как надо!
Товарищ изобретает велосипед.
Изобретать будет долго и получится он с квадратными колёсами, так как читать доки не хочет (ибо - писатель, а не читатель

и изучать существующие ОС тоже не хочет.
Если-бы хоть что-то прочитал про режимы Cortex, его регистры, обработку прерываний/исключений, то глупых вопросов не задавал-бы.
Ибо начинать надо всегда с глубокого изучения вопроса и читать-читать долго и долго, и только когда всё прояснится, тогда и только тогда можно начинать что-то писать.
А если начинает с писания, то ничего путнего никогда не получится....