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变大

 

posted on 2018-01-18 09:42  maxpak  阅读(794)  评论(0编辑  收藏  举报