freertos的钩子函数

时间:2023-03-08 21:33:20

在main中添加:

/**

* @brief FreeRTOS 内存分配失败钩子函数

*/

void vApplicationMallocFailedHook(void)

{

taskDISABLE_INTERRUPTS();

printf("Malloc Failed Hook\r\n");

for(;;);

}

/**

* @brief FreeRTOS 栈溢出钩子函数

*/

void vApplication*Hook(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

在回调函数中添加中断点,运行

freertos的钩子函数

程序奔溃,一直在

freertos的钩子函数

原因是内存不够用

freertos的钩子函数

由0x400改为0x800,

同时把configTOTAL_HEAP_SIZE变大

freertos的钩子函数