Hey guys,
I am trying to force a cortex m3 into thread mode using a process stack pointer. However at the "BX LR" line, it goes to FaultISR.
Following the "Diagnosing Software Faults in Stellaris® Microcontrollers" document, I checked the Fault Status Registers and found it is an instruction access violation. While in the FaultISR, I checked the PC that was saved to the stack and it was 0x00000000. I checked the PC saved onto the process stack and it had a value which was verified to be an actual function. My thumb bit was set and at the "BX LR" command my process stack pointer pointed to the proces's r0.
Register Value:
PSP - 0x200103e0
LR - 0xFFFFFFFD
Memory:
0x200103e0 F0000000(r0) 11111111(r1) 22222222(r2) 33333333(r3)
0x200103f0 12121212(r4) 13131313(lr) 000031FD(pc) 01000000 (xspr)