Правильно ли я понимаю, что PendSV используется так:
Ему выставляется нижайший приоритет.
Если в данный момент есть что делать - делаем (ну, цикл какой или работа с периферией).
Если делать нечего или мы сидим в прерывании и нам нельзя там долго находиться, то что-то делаем по-быстрому и взводим флажок-запрос на PendSV.
Как только все остальные работающие в данный момент прерывания завершатся, проц, видя флажок-запрос, автоматом уходит в PendSV, т.к. теперь ему теперь совсем нечем заняться и можно спокойно уйти на обработку самого низкоприоритетного PendSV.
В планировщике, если есть живые задачи, также взводится этот флаг, чтобы по наступлению таймаута процессор ушел в PendSV и таким образом выполнил переключение.
Либо в коде самой задачи, в ее самом конце (когда она завершила свою работу согласно алгоритму), делается принудительная установка флажка-запроса на PendSV.
Все так?
Цитата(AlexandrY @ Jun 10 2016, 15:16)

Странно почему вы не видите, во всех вызовах стоят _set_pend_sv
Спасибо, рассмотрел.