工具/软件:
您好、
我们使用 SDK 8.6、其中 R5F 内核运行 FreeRTOS 操作系统。 创建任务时、系统进入该 vApplicationStackOverflowHook 功能。
让我来描述一下整个创建过程。 在 main 函数中、 xTaskCreateStatic 函数用于创建 freertos_main 优先级为 6、栈大小为 327680 的任务。 执行 vTaskStartScheduler 函数后、 freertos_main 任务会运行并最初使用该 TaskP_construct 函数创建一个新任务 A。 任务 A 的优先级为 22、栈大小为 8192 * 100。 在任务 A 中、还使用 TaskP_construct 函数创建了另一个任务 B、优先级为 13、栈大小为 327680。 按照此过程、任务 B 创建后、系统进入 vApplicationStackOverflowHook 函数、指示任务 A 中的栈溢出。但是、通过将 freertos_main 任务的优先级修改为 31 并在执行后删除任务本身、系统不再进入该 vApplicationStackOverflowHook 函数。 感谢您在分析这种情况时提供帮助。