rtel wrote on Friday, July 06, 2012:
" msr msp, r0 \n" /* Set the msp back to the start of the stack. /
" svc 0 \n" / System call to start first task. */
It looks like you are using quite an old version of FreeRTOS. The code sequence should be:
" msr msp, r0 \n" /* Set the msp back to the start of the stack. */
" svc 0 \n" /* System call to start first task. */
The extra line is only required if interrupts are in the wrong state when the function is called - which would not normally happen with a standard reboot power up sequence, but in your case could well happen when you come through the boot loader.
This address looks like it is in your bootloader code, if the application code is starting at 0x8003000. As it is just jumping to itself it sounds like it is a default handler for something, but which handler?
If it is a hard fault handler, then the additional cpsie instruction as above will fix that, but even then it still seems to be using the boot loaders vector table.
If it is the SVC handler, and it is the boot loaders SVC handler, then it looks like the vector table is not remapped as you expect.
If it is the SVC handler, but a default SVC handler for the application, then it looks like the FreeRTOS interrupt handler has not been installed into the applications vector table.