Compilation error - "..\\arduino-ide-extension\\build/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/arm-none-eabi-gcc": file does not exist"

Hi everyone,
I just installed IDE version 2.0.3 in Windows 10. I loaded a basic sketch and tried compiling it.

I get the following error:

Compilation error: exec: "C:\Users\cuco\AppData\Local\Programs\Arduino IDE\resources\app\node_modules\arduino-ide-extension\build/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/arm-none-eabi-gcc": file does not exist

I have already uninstalled and reinstalled the IDE.

Thanks for the help with this.
Peter

Hi @cucotx. Which Arduino board do you have selected in Arduino IDE?

Hi ptillisch,

I have selected the "PSoC Dev Board", after installing the "Arduino SAM Boards" via the "Boards Manager".

I'm using version 14 of the Sparkfun PSoc5LP (FreeSoC2).

But, I'm not even at the point where I try to Upload. That error message is from just "Verify", compiling.

I also have VS Code installed with the Microsoft Arduino Extensions added to VS Code.

Thanks,
Peter

OK, thanks that was the information I needed.

The problem is this "SparkFun PSoC Development Boards" platform is very outdated. It was configured for use with a very old version of Arduino IDE.

Fortunately it looks like only a few small changes are required to make it compatible with Arduino IDE 2.x. I'll provide instructions:

  1. Open the file at the following path in a text editor:
    <sketchbook folder>\hardware\SparkFun\psoc\platform.txt
    
    (where <sketchbook folder> is the location of your sketchbook folder (e.g., C:\Users\<username>\Documents\Arduino)
  2. Change line 7 in the file from this:
    compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/
    
    to this:
    compiler.path={runtime.tools.arm-none-eabi-gcc-4.8.3-2014q1.path}/bin/
    
  3. Change line 57 from this:
    recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
    
    to this:
    recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"
    
  4. Change line 71 from this:
    tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin
    
    to this:
    tools.avrdude.cmd.path={runtime.tools.avrdude.path}/bin
    
  5. Save the file.
  6. If Arduino IDE is running, select File > Quit from the menus to exit the IDE.
  7. Start Arduino IDE.
    This restart is required in order for Arduino IDE to recognize the changes you made to the platform.txt file.

Now try compiling for your "PSoC Dev Board" again. The error should no longer occur.


Please let me know if you have any questions or problems while following those instructions.

Making progress...
I have loaded the Blink example that comes with the IDE. When I verify, this is what I get:

arm-none-eabi-gcc: error: C:\Users\cuco\AppData\Local\Temp\arduino-sketch-922FF3E449607E35BCA05B1F5F42801B/core/core.a: No such file or directory

exit status 1

Compilation error: exit status 1

Please double check to be sure you followed step 3 of my instructions above:

Yes. That's the new line in platform.txt.

Interestingly, it did work once. Then, I tried the compile a second time and it failed.

Thanks for the information. I did some experimentation and was finally able to reproduce the error. It turns out one more line needs to be updated. I'll provide instructions:

  1. Open the file at the following path in a text editor:
    <sketchbook folder>\hardware\SparkFun\psoc\platform.txt
    
    (where <sketchbook folder> is the location of your sketchbook folder (e.g., C:\Users\<username>\Documents\Arduino)
  2. Change line 60 in the file from this:
    recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,--start-group -o "{build.path}/{build.project_name}.elf" {object_files} "{build.variant.path}/Uno_blocks.a" "{build.variant.path}/{build.variant_system_lib}" "{build.path}/core/core.a"  -mthumb -march=armv7-m -mfix-cortex-m3-ldrd -lm "-Wl,-Map,{build.path}/{build.project_name}.map" "-T{runtime.hardware.path}/psoc/cores/arduino/cm3gcc.ld" -g "-u _printf_float" ""  -Wl,--gc-sections -Wl,--end-group -lstdc++ 
    
    to this:
    recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,--start-group -o "{build.path}/{build.project_name}.elf" {object_files} "{build.variant.path}/Uno_blocks.a" "{build.variant.path}/{build.variant_system_lib}" "{archive_file_path}"  -mthumb -march=armv7-m -mfix-cortex-m3-ldrd -lm "-Wl,-Map,{build.path}/{build.project_name}.map" "-T{runtime.hardware.path}/psoc/cores/arduino/cm3gcc.ld" -g "-u _printf_float" ""  -Wl,--gc-sections -Wl,--end-group -lstdc++ 
    
  3. Save the file.
  4. If Arduino IDE is running, select File > Quit from the menus to exit the IDE.
  5. Start Arduino IDE.
    This restart is required in order for Arduino IDE to recognize the changes you made to the platform.txt file.

Now try compiling for your "PSoC Dev Board" again. The error should no longer occur.


Please let me know if you have any questions or problems while following those instructions.

Ptillisch,
You the MAN. That was it. Great job dude.

Is there a forum here discussing VS Code and Arduino? Now I have to get the VS Code running.

Thanks for all the amazing help,
Peter

You are welcome. I'm glad it is working now.

There isn't a dedicated category for that subject, but you are welcome to post in the category that seems most appropriate and I'm sure the forum members will be able to help you out.

Regards,
Per

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.