Pull to refresh

Comments 1

Забавно, что если в системе команд некоего процессора нет программных прерываний и/или команды сохранения слова состояния в стеке, то без аппаратного воркэраунда (например, соединить вывод какого-нибудь порта с одним из входов, генерирующих аппаратное прерывание) переключение контекста по требованию самого потока, а не шедулера ОС, повешенного на ISR таймера, реализовать не получится — на каком-то древнем микроконтроллере я это встречал, но где — совершенно не помню. Код при этом получается интересный, так как после инициирования аппаратного прерывания установкой бита в порту процессор в текущем потоке ещё «выбегает» вперёд на несколько команд, пока аппаратное прерывание не сработало, и ему там надо поставить ловушку (зациклить на флаг, сбрасываемый внутри ISR)
Sign up to leave a comment.

Articles

Change theme settings