mse homjak (Вчера, 22:48, просмотров: 8) ответил Nikolay_Po на Если задача должна быть вытеснена (а FreeRTOS - вытесняющая ОС),
это можно сделать, лишь прервав задачу прерыванием. Внутри
прерывания, вместо восстановления контекста прерывания "как было до
прерывания", восстанавливается контекст более приоритетной задачи.
И вот это нетиповое использование прерывания, с возвратом не в
прежний контекст прерывания, а в новый, и, по моему мнению, не
совместимо с аппаратным восстановлением контекста.
Ну, меняем вершину стека на адрес процэдуры сохранения и
переключения контента и делаем мрет. И запоминаем состояние текущей
задачи, типа пушолл и заменив на следующую, пополл. В вершину стека
адрес места останова восстанавливаемой задачи и рет. Тока тут
проблема: смысла в теневом сохранении контента маловато.Тут стока
тасований регистров и памяти, что лишние сохранения-восстановления
особо погоды не сделают.