[STM32F7] AL 驱动的编译优化选项

[复制链接]
8|0
柴库柴库 发表于 2026-10-27 19:57 | 显示全部楼层 |阅读模式
我的工程使用 FreeRTOS + LwIP 以及其他组件。我遇到一个问题:工程开启优化-O3之后,出现奇怪的通信故障。例如 ping 包只能每 3~4 个包才收到一次应答;ping 回复延迟高达 2 秒,甚至 UART 也工作异常。
我最后定位到根源:STM32F7xx_HAL_Driver 文件夹代码被 O3 优化就会出问题;我必须单独把这个文件夹手动设置为 - O0 才能正常运行。
为什么会出现这种现象?如果驱动代码不能承受优化,难道不应该用类似下面的方式保护代码,防止优化带来影响吗?
#pragma GCC push_options
#pragma GCC optimize ("O0")

//code

#pragma GCC pop_options

您需要登录后才可以回帖 登录 | 注册

本版积分规则

244

主题

264

帖子

0

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