How about:
volatile int *cpasr_ptr = 0xE000ED88;
static void prvPortStartFirstTask( void ) { intptr_t stack_addr = **cpasr_ptr; asm ("msr msp, %0\n" "cpsie i\n" "cpsie f\n" "dsb\n" "isb\n" "svc 0\n" /* System call to start first task. */ "nop\n" : "r"(stack_addr)); }
static void vPortEnableVFP( void ) { *cpasr_ptr = *cpasr_ptr | (0xf << 20); }
How about:
volatile int *cpasr_ptr = 0xE000ED88;
static void prvPortStartFir stTask( void )
{
intptr_t stack_addr = **cpasr_ptr;
asm ("msr msp, %0\n"
"cpsie i\n"
"cpsie f\n"
"dsb\n"
"isb\n"
"svc 0\n" /* System call to start first task. */
"nop\n" : "r"(stack_addr));
}
static void vPortEnableVFP( void )
{
*cpasr_ptr = *cpasr_ptr | (0xf << 20);
}