Thanks for your answer ard_newbie,
The problem is I don't want to send a simple binary to customers and I'm realy interested by it.
I've some good notions in assembly and for now I just try to launch an application based at address 0x88000.
void _binExec (void * l_code_addr)
{
__asm ( "mov r1, r0 \n"
"ldr r0, [r1, #4] \n"
"ldr sp, [r1] \n"
/*"msr msp, [r1] \n"*/
"blx r0"
);
}
unsigned int main (void)
{
void * vAppStartAddress = (void *)((unsigned int) 0x88000);
_binExec(vAppStartAddress);
return (unsigned int) vAppStartAddress;
}
So I load this code at address 0x80000 (start of flash), set GPNVM1 (boot from flash), and load my app at address 0x88000.
It's very simple but I think I don't launch my app correctly.