Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

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

cross mob
yaga_3967241
Level 3
Level 3
50 sign-ins 25 sign-ins 10 replies posted

Hi,

We are using bootloader and loadable project in our work. 

Recently we changed the bootloader TopDesign - just changed some drive modes for some pins. We encountered an issue that after we program the IO PSoC with the new code, we cannot load old IO PSoC SW via cyboot-host-i2c anymore. The output of the command are as below:

# /usr/bin/cyboot-host-i2c -v -d /dev/i2c-1 -a 0x12 -f myimage.cyacd
[main-i2c.c][160] optarg: 0x12
[main-i2c.c][161] device_addr: 0x12
CyBtldr_Program called at [Sat Jul 9 03:21:52 2022]....OpenConnection...
CyBtldr_StartBootloadOperation[TD]..inSize[7]..outSize[15]
WriteData..command[38]..count[7]
ReadData..count[15]..status[0x0]
lineLen[589]..arrayId[0]..rowNum[61]..bufSize[288]..checksum[ef]
CyBtldr_ValidateRow[TD]..inSize[8]..outSize[11]
WriteData..command[32]..count[8]
ReadData..count[11]..status[0x0]
CyBtldr_EndBootloadOperation
WriteData..command[3b]..count[8]
CloseConnection...
CyBtldr_Program failed [0x20]
Iteration[1]..Retry Count this Iteration [0]..Programming time [0]..Total Retries [0]

If I program IO PSoC with old SW, I can still load new SW via cyboot-host-i2c without any issue. 

What would be wrong?

Thanks,

Winston

0 Likes
1 Solution
wisc_ece353
Level 3
Level 3
10 replies posted First question asked 10 sign-ins

From what I understand, you have 2 Bootloaders, for understanding - v1, and v2. Bootloader v1 + Bootloadable v2 is working, but bootloader v2 + Bootloadable v1 is not. Please correct me if I am wrong.

Can you tell us the amount of memory consumed by the bootloader program in both cases (v1 and v2 versions)? Maybe you can try placing the bootloadable v1 at a fixed address greater than the bootloader v2 size and see if that works. This KBA might help - https://community.infineon.com/t5/Knowledge-Base-Articles/Bootloader-Host-Error-The-Flash-Row-is-not...

View solution in original post

0 Likes
4 Replies
wisc_ece353
Level 3
Level 3
10 replies posted First question asked 10 sign-ins

From what I understand, you have 2 Bootloaders, for understanding - v1, and v2. Bootloader v1 + Bootloadable v2 is working, but bootloader v2 + Bootloadable v1 is not. Please correct me if I am wrong.

Can you tell us the amount of memory consumed by the bootloader program in both cases (v1 and v2 versions)? Maybe you can try placing the bootloadable v1 at a fixed address greater than the bootloader v2 size and see if that works. This KBA might help - https://community.infineon.com/t5/Knowledge-Base-Articles/Bootloader-Host-Error-The-Flash-Row-is-not...

0 Likes
yaga_3967241
Level 3
Level 3
50 sign-ins 25 sign-ins 10 replies posted

Thanks for quick reply. Your understanding is correct.

After reading the link, I think Manual application image placement option in Bootloadable component is the right way to get around this issue.

The bootloader version is v1.60.

I have trouble to figure what value should be put in the Placement address option. My questions are:

  • How to find out the memory consumed by the bootloader program? 
  • How to find out the address that the current bootloadable is placed when Manual application image placement option is disabled (it shows 0x00000000 in Placement address option)?

Thanks,

Winston

0 Likes
Alakananda_BG
Moderator
Moderator
Moderator
50 likes received 250 sign-ins 250 replies posted

Hi @yaga_3967241 ,

  • How to find out the memory consumed by the bootloader program? 

>>For a specific bootloader project, after
building the project, check the .map file generated by the compiler to determine the exact memory usage.

  • How to find out the address that the current bootloadable is placed when Manual application image placement option is disabled (it shows 0x00000000 in Placement address option)

>>You get the first available row for the bootloadable application from the associated cyacd file
when the Manual application image placement option is disabled or can be reported by the
Get Flash Size command.

Regards,

Alakananda
yaga_3967241
Level 3
Level 3
50 sign-ins 25 sign-ins 10 replies posted

Actually, when building bootloader project, the build output contains messages  for Flash size. 

0 Likes