拿到官方给出的freertos例子
改成AC5编译
加入这几个文件
移配置文件
因为使用了systick,所以ddl.c
中,替换用到systick的delay
void delay100us(uint32_t u32Cnt)
{
uint32_t ticks;
uint32_t told,tnow,tcnt=0;
uint32_t reload=SysTick->LOAD; //sysTick load
ticks=u32Cnt*(SystemCoreClock/10000);
told=SysTick->VAL;
while(1)
{
tnow=SysTick->VAL;
if(tnow!=told)
{
if(tnow<told)tcnt+=told-tnow;
else tcnt+=reload-tnow+told;
told=tnow;
if(tcnt>=ticks)break;
}
}
}
屏蔽systick中断
vTaskStartScheduler
任务调度后,才会使能systick,所以上面用到的delay,全部都要在调度后才可使用configTOTAL_HEAP_SIZE
建议加大到5K(参考例子2K),酌情处理