__asm void vPortSVCHandler( void ) { PRESERVE8 ldr r3, =pxCurrentTCB /* Restore the context. */ ldr r1, [r3] /* Use pxCurrentTCBConst to get the pxCurrentTCB address. */ ldr r0, [r1] /* The first item in pxCurrentTCB is the task top of stack. */ ldmia r0!, {r4-r11} /* Pop the registers that are not automatically saved on exception entry and the critical nesting count. */ msr psp, r0 /* Restore the task stack pointer. */ isb mov r0, #0 msr basepri, r0 orr r14, #0xd bx r14 } 这是我将freertos移植到stm32上,开发平台是IAR,在port.c中出现大量的错误,上面标红的地方,还有很多函数,这是为什么? |
我是用cubemx生成的ac6下的freertos工程,据说是删减版的。
我找到了对应的函数,供参考:
port应该需要对应的平台的文件,可以下载FreeRTOS的源码替换成IAR平台下的port文件试试