freertos移植到STM32L中的有关问题

freertos移植到STM32L中的问题
我在IAR下面移植freertos8.0.0,芯片是STM32L151。程序如下,只有一个任务:led,led任务里什么都不做,就是一个while(1)。主函数执行到vTaskStartScheduler函数里的vPortStartFirstTask函数,执行完最后一句svc 0后直接进入了HardFault_Handler(),通过设置调整堆栈大小等,还是会进入。如果屏蔽vPortStartFirstTask函数就不会进入,急问怎么解决呢?主函数如下:
void main(void)
{
BSP_Init();
xTaskCreate( vTaskled, "led", 256, NULL, 1, NULL );
/* Start the scheduler. */
vTaskStartScheduler();
}
vPortStartFirstTask函数是汇编如下:
vPortStartFirstTask
/* Use the NVIC offset register to locate the stack. */
ldr r0, =0xE000ED08
ldr r0, [r0]
ldr r0, [r0]
/* Set the msp back to the start of the stack. */
msr msp, r0
/* Call SVC to start the first task. */
cpsie i
dsb
isb
svc 0
END
------解决方案--------------------
檫,发错。freertos移植到STM32L中的有关问题