GD32F303踩坑记:FreeRTOS里一个局部变量引发的HardFault血案

[复制链接]
1062|65
MessageRing 发表于 2026-11-5 12:00 | 显示全部楼层
GD32F303的栈管理要小心,局部变量太大可能导致栈溢出。优化USB驱动代码,减小局部变量使用或增加任务栈大小。
OliviaSH 发表于 2026-11-6 10:30 | 显示全部楼层
局部变量太大,优化USB驱动代码,减小局部变量使用,或增加任务栈大小。
理想阳 发表于 2026-11-11 21:24 | 显示全部楼层
驱动程序中结构体体积过大,可考虑精简字段或使用动态内存分配,增大栈空间需确保系统资源充足。
OKAKAKO 发表于 2026-11-11 22:04 | 显示全部楼层
局部变量放在任务栈里,任务栈开太小或中断嵌套太深都会踩栈,先算清栈深度再查越界。
鹿鼎计 发表于 2026-11-12 19:35 | 显示全部楼层
要确保全局或静态变量在多任务或多中断环境下安全访问,可以采用锁机制或者中断屏蔽技术。
szt1993 发表于 2026-11-12 23:52 | 显示全部楼层
局部变量太大或数组越界会撑爆任务栈,把大数组改全局或static,再调大任务栈大小,HardFault就解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部