PendSV 어셈블리 코드를 보면:
1. 첫 번째 PendSV: mrs r0, psp에서 PSP=0이므로 cbz r0, 1f로 분기하여 라벨 1:로 점프
2. 라벨 1에서: bl {switch}를 호출하여 task 0의 SP를 받음
3. 그 다음: ldmia r0!, {r4-r11}로 레지스터들을 복원하고 msr psp, r0로 PSP 설정
4. 문제: 하드웨어 프레임(r0-r3, r12, lr, pc, xpsr)이 복원되지 않음!
두 번째 PendSV에서도 비슷한 문제가 있을 듯.
- 해결책: PendSV 어셈블리 코드에서 하드웨어 컨텍스트가 제대로 복원되도록 수정해야 함. 현재 코드는 소프트웨어 컨텍스트(r4-r11)만 처리하고 있음.