cyelftool Error

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

cross mob
rora_1556301
Level 1
Level 1

I'm having issues with a launcher/bootloader project. When the code size goes over a certain threshold, cyelftool throws the following error: "Error: flash row: 1024 is either already used or does not exist."

We are using a cy8c4248LQI-BL573 with 256K flash, and looking at the map file, we are using somewhere around 54% of available flash, so we shouldn't be running out.

The specific command that fails is: "cyelftool.exe -B C:\Users\rfr2\Documents\Dresden\Firmware\Bootloader.cydsn\CortexM0\ARM_GCC_541\Debug\Bootloader.elf --flash_row_size 256 --flash_size 262144 --flash_offset 0x00000000 --flash_array_size 131072 --offset"

If I run the same command without the "--offset" It succeeds, but I'm not sure what the "--offset" actually does.

Any help would be appreciated!

-Rob Rau

0 Likes
1 Solution
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

--offset parameter to cyelftool.exe -B will shift up the bootloadable code in flash and create .cyacd. This would be causing memory overflow in your application. You can observe it in .cyacd generated by both commands.

View solution in original post

0 Likes
2 Replies
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

--offset parameter to cyelftool.exe -B will shift up the bootloadable code in flash and create .cyacd. This would be causing memory overflow in your application. You can observe it in .cyacd generated by both commands.

0 Likes

Hmm interesting, that does sound like the opposite of what I want. Do you know if there is any way to remove this flag from the build process. Looking through the Bootloadable and bootloader components isn't yielding me much.

0 Likes