I found a problem on the Cortex-M3 port. In the port.c file the MSP (main stack pointer) is initialized assuiming that the vector table is strored at the adress 0x00000000, using a bootloader this is not hte case. For that reason I modified the code as follow:
Line 160: prvSetMSP( *((unsigned portLONG *) portNVIC_VTABLE ) );
I did the modification for the version 4.8.0 as follow
void vPortStartFirstTask(void)
{
asm volatile(
" ldr r0, =0xE000ED08 \n" /* Load the NVIC_TABLE offset address. */
" ldr r0, [r0] \n" /* Get the vector table offset. */
" ldr r0, [r0] \n" /* Get the stack pointer. */
" msr msp, r0 \n" /* Set the msp back to the start of the stack. */
" svc 0 \n" /* System call to start first task. */
);
}