GD32F303 只要已使用浮点型值 程序在下一个系统延迟中跑飞 ucosii系统

[复制链接]
2192|4
 楼主| cwj1986521 发表于 2025-8-3 22:56 | 显示全部楼层 |阅读模式
GD32F303 只要一使用浮点型值 程序在下一个系统延迟中跑飞 ucosii系统 是什么原因导致这个跑飞?
内政奇才 发表于 2025-8-26 16:50 | 显示全部楼层
调用涉及浮点数的函数时,栈指针必须保持8字节对齐。若未对齐,会导致数据访问异常,触发HardFault中断,程序跑飞。
内政奇才 发表于 2025-8-26 16:50 | 显示全部楼层
UCOSII的任务栈通常为32位(4字节对齐,但未强制保证8字节对齐。当任务中调用sprintf处理浮点数时,栈操作可能因未对齐而崩溃。
duo点 发表于 2025-8-26 16:50 | 显示全部楼层
强制任务栈8字节对齐。
onlycook 发表于 2025-8-26 16:51 | 显示全部楼层
优化浮点运算配置,避免在任务中频繁创建/销毁浮点变量,减少栈压力。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

16

帖子

2

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