Announcements

Equip yourself to optimize PSoc4 MCUs for Evs at the EV Webinar. Click here to register.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 4 Forum Discussions

Anonymous
Not applicable

I am trying the Build BLE firmware image from Cypress Psoc 4.1 but having issue in Bootloadable file assignment. 

   

 

   

Below error:

   

"Error in component: Bootloadable. The referenced Bootloader is invalid. Verify the Bootloader dependency is correct in the Bootloadable Component, then build project. Invalid bootloader hex file. Unable to read the hex file (C:\demo\bootloader.cyprj.Archive01\bootloader.cydsn\CortexM0\ARM_GCC_493\Debug\bootloader.hex). The path does not exist."

   

 

   

Bootloadable components must have an associated bootloader design to build with. The reference in the Bootloadable's customizer must point to valid *.hex and *.elf files from a Bootloader design."

   

 

   

I am trying to build BLE from command line but since bootloader picking relative path, build process does not go through.

   

Please suggest me alternative option to build BLE firmware image from command line using cypress Psoc 4.1..

1 Solution
Anonymous
Not applicable

The ARM toolchain was updated between Creator v4.0 (ARM_GCC_493) and Creator v4.1 (ARM_GCC_541). If you compile any project in a v4.1 installation with default settings, it should only create new output files in the _541 subfolder. Anything in the _493 output folder is what is left over from compiling in a previous Creator version.

   

Unless you have a reason not to (e.g. known compatibility issues in your specific application code, which is unlikely), you should update all projects to v4.1 and be sure to configure any Bootloadable components to point to the .hex/.elf output files in the _541 output subfolders.

   

In any case, you should compile all projects that are linked together in any way (e.g. bootloader + bootloadable) using the same ARM GCC toolchain version.

   

Jeff

View solution in original post

0 Likes
5 Replies
HeLi_263931
Level 8
Level 8
100 likes received 50 likes received 25 likes received

This error happens when the referenced bootloader component was build with a different version of the components or Creator. Try to build the bootloader project first.

0 Likes
Anonymous
Not applicable

HI , I am using Cypress PSoC 4.1 and i am seeing 2 files getting generated  CortexM0/"ARM_GCC_493",  "ARM_GCC_541".

   

But in Cypress PSoc 4.1  only one file gets created, Cortex/ARM_GCC_493. 

   

Any suggestion why 2 files getting created in Cypress 4.1 and Which .hex and .elf file has to chose.

   

Is there any kind of performance related issue in using 4.0 as compare to 4.1 since few teams still using 4.0.

   

Please suggest me.

0 Likes
Anonymous
Not applicable

The ARM toolchain was updated between Creator v4.0 (ARM_GCC_493) and Creator v4.1 (ARM_GCC_541). If you compile any project in a v4.1 installation with default settings, it should only create new output files in the _541 subfolder. Anything in the _493 output folder is what is left over from compiling in a previous Creator version.

   

Unless you have a reason not to (e.g. known compatibility issues in your specific application code, which is unlikely), you should update all projects to v4.1 and be sure to configure any Bootloadable components to point to the .hex/.elf output files in the _541 output subfolders.

   

In any case, you should compile all projects that are linked together in any way (e.g. bootloader + bootloadable) using the same ARM GCC toolchain version.

   

Jeff

0 Likes
axeltolosa_4750
Level 1
Level 1
First reply posted First like given Welcome!

same problem not solution after 2 hours. 

Error in component: Bootloadable_1. The referenced Bootloader is invalid. Verify the Bootloader dependency is correct in the Bootloadable Component, then build project. Invalid bootloader hex file. Unable to read the hex file (C:\Users\cazad\OneDrive\Documents\PSoC Creator\Workspace05\capsense lesson 5.cydsn). The path does not exist.

0 Likes

Hello axeltolosa.

Did you configure the component Bootloadable_1 on schematic to point to the bootloader?
If not, do the following:

On the schematic, double-click on the component Bootloadable_1.
In the component window that opens, click on tab "Dependencies".
In the line "Bootloader HEX file", use the "Browse..." button to find the file location of the Bootloader.
The .elf line will automatically be filled in.
Now, click OKAY or Apply, close that window.
Re-build bootloadable application.

Should be good now.

BTW, the Getting Started guide for KIT-049 is very good at explaining this (KIT-049 always uses a Bootloader).

The above description assumes you already built the bootloader.

Good luck with your project.

0 Likes