freertos的钩子函数
在main中添加:
/**
* @brief FreeRTOS 内存分配失败钩子函数
*/
void vApplicationMallocFailedHook(void)
{
taskDISABLE_INTERRUPTS();
printf("Malloc Failed Hook\r\n");
for(;;);
}
/**
* @brief FreeRTOS 栈溢出钩子函数
*/
void vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName)
{
(void) pxTask;
printf("Stack Overflow Hook\r\n");
for(;;);
}
在FreeRTOSConfig.h中添加
//add by mxx
#define configCHECK_FOR_STACK_OVERFLOW 1
#define configUSE_MALLOC_FAILED_HOOK 1
在回调函数中添加中断点,运行
程序奔溃,一直在
原因是内存不够用
由0x400改为0x800,
同时把configTOTAL_HEAP_SIZE变大