[STM32F4] stm32 f407中浮点数报错

[复制链接]
848|5
 楼主| 封存into 发表于 2025-3-27 22:57 | 显示全部楼层 |阅读模式
项目中使用 STM Cube IDE开发stm32 f407。
堆栈大小设置为最小0x6000。
在程序中有一个 float 赋值
float val = resizedImage;
在 systemInit() 函数中启用了 FPU。已将 FPU_PRESENT 和 FPU_USED 设置为 1。
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
  SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
  __DSB();
  __ISB();

#endif

float val assignmemt 代码中会出现硬错误。报错 “attempt to execute a coprocessor instruction”。

七毛钱 发表于 2025-3-28 11:50 | 显示全部楼层
更新固件库和工具链
两只袜子 发表于 2025-3-28 13:20 | 显示全部楼层
有点可能是硬件问题。
香水城 发表于 2025-3-28 16:22 | 显示全部楼层
本帖最后由 香水城 于 2025-3-28 16:32 编辑

你看看这个地方配置了没有,不过一般默认的。
3423567e65e7eae866.png
674367e65c42953a2.png
键盘手没手 发表于 2025-3-31 23:53 | 显示全部楼层
没有启用 FPU 的系统中尝试使用 FPU 指令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

126

帖子

0

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