ST意法半导体
直播中

张波

7年用户 1384经验值
私信 关注
[问答]

STM32 9-2020-q2-update的GNU工具上出现错误“mode armelf”怎么解决?

受到警告
提示: 作者被禁止或删除 内容自动屏蔽

回帖(1)

苏醒

2023-1-5 10:12:44
工具链本身没有问题。在使用详细标志构建时,这似乎只是对日志输出的更改。
gcc-7


  • ==================================================
  • attempt to open c:/st/stm32cubeide_1.5.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.5.0.202011040924/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m/fpv4-sp/hard/crti.o succeeded

gcc-9


  • ==================================================
  • c:ststm32cubeide_1.5.0stm32cubeidepluginscom.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924toolsarm-none-eabibinld.exe: mode armelf
  • attempt to open c:/st/stm32cubeide_1.5.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924/tools/bin/../lib/gcc/arm-none-eabi/9.3.1/thumb/v7e-m+fp/hard/crti.o succeeded

使用 gcc.9 你会得到一个额外的日志输出(详细),见上面的第 2 行。链接器在 armelf 模式下被调用。这里没有错...
那么,为什么在“问题视图”中会出现错误,为什么该行在控制台视图中突出显示为红色?
这是因为控制台错误解析器的正则表达式不够明确。
所以,如果你想摆脱错误,你有两个选择:


  • 关闭冗长
  • 或者使用优先的新错误解析器模式忽略此控制台输出模式


    • 找到模式“Error”:“(.*[/ \]) ?ld(.exe)?: (.*)”。复制它。
    • 添加新模式 Set Severity=Ignore。粘贴上面的模式,然后像这样修改 "(.*[/ \]) ?ld(.exe)?: mode armelf"
    • 在新模式上单击 Move up 以便它具有更高的等级来匹配而不是其他错误。
    • 申请并关闭

    • Window --> Preferences --> C/C++ --> Build --> Settings --> Error Parsers --> GNU Linker 错误解析器

    • 重建 - 完成!

举报

更多回帖

发帖
×
20
完善资料,
赚取积分