You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32CubeIDE后构建步骤执行objcopy命令报错,是否缺失路径变量?

解决STM32CubeIDE后构建步骤中arm-none-eabi-objcopy命令无法识别的问题
  • 核心原因:STM32CubeIDE自带的GCC工具链路径未加入系统环境变量,或后构建步骤未使用绝对路径调用命令,导致系统找不到该工具。

  • 解决方案一:使用工具链绝对路径调用命令

    1. 找到STM32CubeIDE安装目录下的工具链bin文件夹路径,默认路径示例:
      • Windows:C:\ST\STM32CubeIDE_1.13.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202309131626\tools\bin
      • Linux:/home/user/stm32cubeide_1.13.0/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.linux64_1.1.0.202309131626/tools/bin
      • macOS:/Applications/STM32CubeIDE.app/Contents/Eclipse/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.macosx_1.1.0.202309131626/tools/bin
    2. 修改后构建命令,将arm-none-eabi-objcopy替换为绝对路径,Windows下需给带空格的路径加引号,示例:
      "C:\ST\STM32CubeIDE_1.13.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202309131626\tools\bin\arm-none-eabi-objcopy.exe" -O binary main.elf main.tmp.bin
      
  • 解决方案二:将工具链路径加入系统环境变量

    1. Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量Path中添加工具链bin目录路径,重启STM32CubeIDE生效。
    2. Linux/macOS:编辑~/.bashrc(Linux)或~/.zshrc(macOS),添加一行:
      export PATH=$PATH:/path/to/your/stm32cubeide/tools/bin
      
      保存后执行source ~/.bashrc或source ~/.zshrc,再重启STM32CubeIDE。
  • 验证方法
    在STM32CubeIDE的「终端」面板输入arm-none-eabi-objcopy --version,若能输出版本信息,说明路径配置正确;若报错,检查路径是否准确。同时注意后构建步骤中的文件路径(如main.elf)尽量用绝对路径或相对项目根目录的路径,避免因工作目录问题找不到文件。

内容的提问来源于stack exchange,提问作者Paul Flory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:15:00