打印
[STM32MP1]

任务堆栈不足

[复制链接]
299|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
米多0036|  楼主 | 2024-12-7 08:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CubeMX默认为FreeRTOS任务分配的栈空间可能过小。

问题表现:任务异常退出,系统进入HardFault。
解决方法:
增加任务栈大小(xTaskCreate的参数设置)或调整configMINIMAL_STACK_SIZE。
启用FreeRTOS的栈溢出检测功能:
c
复制代码
#define configCHECK_FOR_STACK_OVERFLOW  2
中断优先级未正确配置
CubeMX对中断优先级的配置不符合FreeRTOS要求,可能导致中断与任务之间的资源竞争。

问题表现:程序随机崩溃或中断回调失效。
解决方法:
确保中断优先级高于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY。
示例配置:
c
复制代码
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY  5

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

1393

帖子

0

粉丝