Уточнения Проявление стандартное - перезапуск или попытка исполнения по несуществующим адресам.
Если отдельный стек не использовать то работает нормально.
Процессор без компаратора, поэтому пришлось сделать через чтонито другое - выбран TACCR1
Системный таймер на WDT
Вложенные прерывания не используются.
Правки:
#define CONTEXT_SWITCH_ISR_VECTOR TIMERA1_VECTOR
INLINE inline void RaiseContextSwitch() { TACCTL1 |= (CCIE | CCIFG); }
ContextSwitcher_ISR:
bic.w #CCIFG,&TACCTL1 ;<----- clear irq flag
save_regs
mov SP,r12
call #OS_ContextSwitchHook
mov r12,SP
L_RestoreContext:
restore_regs
reti