how to program an .hex compiled for a CY8C5888LTI-LP097 on a CY8C5868LTI-LP039

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

cross mob
roboteux
Level 3
Level 3
10 replies posted 10 sign-ins 5 replies posted

Hi,

due to the chip shortage, I need to use a CY8C5868LTI-LP39 (that is the psoc used for the kitprog on the CY8CKIT-059, instead of the target PSOC CY8C5888LTI-LP097.

Reading the datasheet, the only difference that I see if hte maximum frequency, but luckily I wasn't running at full speed.

However, using the kitprog to program my LP039 chip, with a .hex compiled for a LP097, psoc programmer don't want to do it, because it's not the correct chip.
Is there a way to force psoc programmer to program my hex file. It work if I recompile it but I would like to avoid that.

 

Also, I have a similar question about a bootloadable (so a .cyacd), I think that I should be able to use the same .cyacd for both target, but I havn't check if the file compiled for either is the same or not, any hint would be very helpfull.

 

0 Likes
1 Solution
Gautami_12
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @roboteux,

 

The PSoC Programmer checks the JTAG ID before programming a device. In case of a JTAG ID mismatch, PSOC Programmer will not allow you to program a different device.

We do not recommend you to use a hex file of one device with another device in a production environment. You can recompile the project for the  CY8C5868LTI-LP39 device and use the generated hex file. 

Programming a different hex file will void the warranty on the device and in case you face any issues, you would also be not able to avail of the related services.

Warm Regards,
Gautami J

View solution in original post

0 Likes
3 Replies
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

roboteux,

It is generally a bad idea to modify the .hex to run on a different part.

The build of a .hex file which includes the device's ID, is to insure that the compile matches the design environment of the target IC selected in the original build.   Although many of the resources and register addresses might be identical between the two parts, this is not always a guarantee.

My best advice is to go back into PSoC Creator.  Create a copy of the original project targeted for the  CY8C5888LTI-LP097 and paste it into the same workspace.

Select the copied project as the "Active Project" and select a new target device (CY8C5868LTI-LP39) and rebuild the project.   Make sure all errors are resolved.   This new project .hex file should be no tailored to the replacement IC and programmable using PSoC Programmer with no issues.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes

I fully agree with you comment.

however, I have to manage the board that are already in the field and all my software update process.
I've checked the generated .hex file are the same for both processor. except one line at the end which is clearly the silicon ID.

So I've ben able to program the cyacd compile for one processor to a board with the other.
for the hex file, I havn't yet found a solution. But I'm thinking to use sed to change the last line and create 2 hex file from one compilation.

0 Likes
Gautami_12
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @roboteux,

 

The PSoC Programmer checks the JTAG ID before programming a device. In case of a JTAG ID mismatch, PSOC Programmer will not allow you to program a different device.

We do not recommend you to use a hex file of one device with another device in a production environment. You can recompile the project for the  CY8C5868LTI-LP39 device and use the generated hex file. 

Programming a different hex file will void the warranty on the device and in case you face any issues, you would also be not able to avail of the related services.

Warm Regards,
Gautami J

0 Likes