CMSIS-OS2标准接口中,栈空间大小的单位是byte。创建任务时若stack_size=1024,将只分配1KB空间给任务栈,原本基于FreeRTOS原生API写的代码就会爆栈。我是在CubeIDE调试时,通过FreeRTOS Task List窗口发现这个大坑的。 下图是调试模式下FreeRTOS Task List监控到的实际任务栈状态,defaultTask栈空间为1024字节: 下图是用...
一款线程安全的FreeRTOS(cmsis_os2)的日志调试库,基于STM32F4_HAL。 使用方法: 在uart.c中重写fputc函数。 在系统初始化阶段调用InitLogSystem();。 在DBG.h中配置参数: COLOR:是否开启彩色 CURRENT_LOG_LEVEL:调整日志等级 如同使用printf一样使用DBG, DBGI, DBGW, DBGE,Just enjoy it!: ) Note 如果...