火龙果开发板使用printf后跑飞

火龙果开发板跑freertos例程发现,在任务调度开始前使用了printf就会导致触发HardFault_Handler,
比如把例程下面的 printf(“Hello China.\r\n”);放在开始任务调度前就会卡进HardFault_Handler,
DAP调试是卡在listGET_LIST_ITEM_VALUE,原因不明,应该是printf的实现有冲突。

截图代码看一下。



使用资料的freertos例程,不做其他更改,只把printf放任务开始前就可以复现。


更改如上

好,我试试复现下。

把滴答定时器的初始化注释掉。

1 个赞

哦,原来是这样,是以为systick的延时的初始化影响到了freertos的调度中断吗,我还以为是printf的问题,原本我是在往freertos例程里面加sdio驱动+fatfs文件系统时,测试文件系统时发现卡死了,后来排查把加进来fatfs测试代码部分的注释掉发现是用了printf引起,滴答定时器是本来就有的就没去管它。

你的KEIL背景是怎么改动的啊