Цитата
This indicates which stack pointer corresponds to the stack frame and what operation mode the processor was in before the entry occurred.
если исходить что в задачах используем PSP, то если мы попадем в прерывание из задачи в LR будет лежать магическое число говорящая что выходить надо через PSP, если же вложенное прерывание то мы попадем из hendler режима, в котором будет только MSP.
Если бы в LR лежало магическое значение которое не от чего не зависит, то его не надо было бы делать. Зависимость есть. А в других кортексах вариантов больше....
так что как не крути в LR сохраняется режим из которого мы попали в прерывание, а так как в этом режиме еще указан какой из стэков использовать для возвращения, то подмена LR может вообще либо все загадить либо вернуть нас не туда!
задача -> прерывание -> вложенное прерывание, если вернутся по коду с 9 или D на конце мы из вложенного прерывания выйдем в задачу, а не в прошлое прерывание, и будет ваще беда! кусок кода потеряется, и стэк раздуется, если так делать часто он ваще кончится...
Цитата
нет - стэк этой задачи не будет изолирован от стэка ядра.
в данном случая я имею ввиду что если основной метод переключения задач, это задание PSP на стэк задачи и выход из прерывания, то так можно делать только если начальный стэк задачи проинициализирован в состояние которое он принимает при заходе в прерывание. Самый простой способ инициализации - войти в прерывание, хотя наверное нереальный, и все таки придется это сделать ручками