开源改变世界

STM32F4XX 构建的编译时错误 #51

推推 grbl 3年前 (2023-02-08) 251次浏览
关闭
jappiemike 打开了这个问题 2022 年 1 月 12 日 · 7条评论
关闭

STM32F4XX 构建的编译时错误#51

jappiemike 打开了这个问题 2022 年 1 月 12 日 · 7条评论

评论

STM32F4XX 构建的编译时错误 #51

您好,当我尝试构建最新版本时出现这些错误
描述资源路径位置类型
./Src/driver.o: in function driver_init': GRBL Driver STM32F401 C/C++ Problem make: *** [makefile:70: grblHAL F411 Nucleo.elf] Error 1 GRBL Driver STM32F401 C/C++ Problem undefined reference to i2c_eeprom_init’ driver.c /GRBL Driver STM32F401/Src line 1968 C/C++ 问题
我也注意到那里GRBL 文件夹中没有 eeprom 文件。我做错了什么(像往常一样)?
干杯
迈克

STM32F4XX 构建的编译时错误 #51
贡献者

你用的是什么板?

STM32F4XX 构建的编译时错误 #51
作者

我正在使用 STM411RE 核板

STM32F4XX 构建的编译时错误 #51
贡献者

这可能是因为我昨天把代码弄乱了一点。修复刚刚提交的问题。

我还注意到 GRBL 文件夹中没有 eeprom 文件。

它们与 grbl 文件夹一起位于 eeprom 文件夹中。如果不是,那么在获取项目时肯定出了什么问题。顺便说一句,当在 my_machine.h 中取消注释EEPROM_ENABLE或选择强制 EEPROM_ENABLE 的板图(例如 BOARD_MORPHO_CNC 这样做)时,将调用此函数。

STM32F4XX 构建的编译时错误 #51
作者

我一直在使用 ST-MORPHO 电路板布局,这样就可以解释我无法在我的 411 发布版本的构建中考虑的 EEPROM_ENABLE(抱歉,如果我有点含糊,我正在从白内障手术中恢复)。当我感觉更聪明一点时,我会尝试一下(从现在的轨迹来看可能是几十年后)。
干杯
迈克

STM32F4XX 构建的编译时错误 #51
贡献者

当我感觉更聪明一点时,我会尝试一下(从现在的轨迹来看可能是几十年后)。

哎哟——这听起来不太好。

如果删除这些行,则可以禁用为板编译的 EEPROM 支持:

#undef I2C_ENABLE _
#undef EEPROM_ENABLE _
# undef EEPROM_IS_FRAM
#定义 I2C_ENABLE 1
#定义 I2C_PORT 1
#定义 EEPROM_ENABLE 1
#定义 EEPROM_IS_FRAM 1

 

STM32F4XX 构建的编译时错误 #51

或者选择了强制 EEPROM_ENABLE 的板图(例如 BOARD_MORPHO_CNC 这样做)。

我将 Morpho 选项用于我的 Nucleo 开发板构建,并且承认我从未注意到这一点。从报告输出中,我看到它最终使用模拟 FRAM 来存储设置,保持原样有什么缺点吗?

STM32F4XX 构建的编译时错误 #51
贡献者

从报告输出中,我看到它最终使用模拟 FRAM 来存储设置,保持原样有什么缺点吗?

如果您没有连接 FRAM 芯片,您的设置/偏移量将在会话中丢失。FRAM 前面的星号表示它已缓冲 – 写入被延迟,直到控制器状态为空闲(或警报):
[NVS STORAGE:*FRAM]
我没有添加任何写入失败处理,也许我应该 – 通过更改为纯仿真并报告它?如果启动时读取失败,将报告错误 7 并将设置重置为默认值。