Skip to main content
Associate II
July 10, 2025
Solved

X-CUBE-AI: "ValueError: Path for entry objcopy_binary_path does not exist" when validating.

  • July 10, 2025
  • 3 replies
  • 678 views

hi  , i want to use STM32Mx to validate  my model(.onnx) on target STM32N6570-DK board ,now STM32MX is 6.15.0 and Toolchain/IDE select STM32CUBEIDE,when i connect board to PC,and click the validate on target,it show me error like this:

 

 File "C:\Users\lenovo\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AI\10.1.0\scripts\N6_scripts\n6_utils_pkg\config_reader.py", line 100, in sanitize_config 
    check_path_entry_ok(self.data, k) 
  File "C:\Users\lenovo\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AI\10.1.0\scripts\N6_scripts\n6_utils_pkg\config_reader.py", line 74, in check_path_entry_ok 
    raise ValueError(f"Path for entry {key} does not exist: {rv}") 
ValueError: Path for entry objcopy_binary_path does not exist: C:/Users/foobar/TOOLS/gcc-arm-none-eabi/12.2 rel1/bin/arm-none-eabi-objcopy.exe 
Build error

 

please help me to slove this problem ,thanks!

Best answer by Julian E.

Hello @cxf,

 

As @Andrew Neil pointed out, this error seems to be because of a bad configuration of X Cube AI. 

By default, the path to necessary tools are found automatically, but for some reason, it did not work for you.

 

Could you go to the X Cube AI repository folder: 

C:\Users\lenovo\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AI\10.1.0\scripts\N6_scripts\

 

And manually set the paths in config.json.

 

 
Here is what mine looks like for reference:
{
 "gdb_server_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.2.100.202501151542/tools/bin",
 "gcc_binary_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin",
 "objcopy_binary_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/arm-none-eabi-objcopy.exe",
 "cubeide_path": "C:/ST/STM32CubeIDE_1.17.0/STM32CubeIDE",
 "compiler_type": "gcc",
 "cubeProgrammerCLI_binary_path": "C:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe",
 "iar_binary_path": "C:/Users/foobar/TOOLS/IAR/IAR9.30.1/common/bin/"
}
(iar is not set as I don't use it)
 
Have a good day,
Julian
 

3 replies

Technical Moderator
July 10, 2025

Hello @cxf 

Could you please add your .ioc file to check the issue?

KR,

Souhaib

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Andrew Neil
Super User
July 10, 2025

Would a failure to find arm-none-eabi-objcopy.exe be related to the .ioc file?

Sounds more like an installation/configuration problem with the tools?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Julian E.
Julian E.Best answer
Technical Moderator
July 10, 2025

Hello @cxf,

 

As @Andrew Neil pointed out, this error seems to be because of a bad configuration of X Cube AI. 

By default, the path to necessary tools are found automatically, but for some reason, it did not work for you.

 

Could you go to the X Cube AI repository folder: 

C:\Users\lenovo\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AI\10.1.0\scripts\N6_scripts\

 

And manually set the paths in config.json.

 

 
Here is what mine looks like for reference:
{
 "gdb_server_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.2.100.202501151542/tools/bin",
 "gcc_binary_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin",
 "objcopy_binary_path": "C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/arm-none-eabi-objcopy.exe",
 "cubeide_path": "C:/ST/STM32CubeIDE_1.17.0/STM32CubeIDE",
 "compiler_type": "gcc",
 "cubeProgrammerCLI_binary_path": "C:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe",
 "iar_binary_path": "C:/Users/foobar/TOOLS/IAR/IAR9.30.1/common/bin/"
}
(iar is not set as I don't use it)
 
Have a good day,
Julian
 
​In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Andrew Neil
Super User
July 10, 2025

It's telling you that it can't find arm-none-eabi-objcopy.exe:

 

ValueError: Path for entry objcopy_binary_path does not exist: 
C:/Users/foobar/TOOLS/gcc-arm-none-eabi/12.2 rel1/bin/arm-none-eabi-objcopy.exe
Build error

 

So does that path actually exist on your PC?

Do you have access rights to it?

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
SlothGrill
ST Employee
July 15, 2025

Hello 
Just as an extra tip, if you have cubeIDE installed somewhere, you can reduce your configuration file to something like:

{
 "compiler_type": "gcc",
 "cubeide_path": "C:/ST/STM32CubeIDE_1.17.0/STM32CubeIDE"
}

Cheers.

cxfAuthor
Associate II
July 17, 2025

Thank you all for your help and time investment,I really appreciate it!!!

problem 1: objcopy path error

solution: by Julian E's way,i change my  config.json as

cxf_0-1752722880827.png

and it never output this problem

problem 2:

E200(ValidationError): TARGET: Unable to bind the ST.AI runtime with "network" c-model: [] 
 E801(HwIOError): Invalid firmware - COM35:115200 

solution:it is the PLL and NPU CLK  reason, and i have set clk like this:

CPU=800MHZ,AXI =400MHZ,NPU=1GHZ,AXISRAM=900MHZ,HCLK=200MHZ

 

I hope these can help others,thanks!!

 

Now i can validate on taget ,but still have a small problem. 

I want to use STM32cubeMX to generate STM32cubeIDE project(.project),and hope that:there is a bsp function

(like BSP_XSPI_NOR_Init) in this project,but no matter how i try , i can not find this function in it .who knows to solve this problem?(Now I have to manually handle this issue  by copy this function from other .c,and this method is very inconvenient )

 

EDIT: you can find a new thread regarding this question here:

there is no bsp function in STM32cubeIDE project f... - STMicroelectronics Community

 

thanks!!!

Andrew Neil
Super User
July 17, 2025

@cxf wrote:

Now i can validate on taget ,but still have a small problem. 


That's a new question - please start a new thread for that.

Give a link here so that people can find it.

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.