How to include PARTIAL EEPROM in Hex/CYACD File?

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

cross mob
KevinR_91
Employee
Employee
25 replies posted 10 likes received 10 replies posted

For PSoC5 it is possible to include the EEPROM in the programming (hex and cyacd) files by selecting the "Include EEPROM image in Hex file" but this is an all or nothing selection.

I would like to instead only include half of the EERPOM in the programming files, I use the half included to store serial data that gets programmed during in system update, but the other half is used by the application for logging, and I do not want this data to get overwritten during an in system update.

Is there a way to do this in the tool?  It looks like no.

If no, what would be the reccomended way to accomplish this, the two things I can think of are:

1) Manually (or using a script) remove the EEPROM rows from the hex/cyacd that I do not want programmed

2) Write the bootloader program to make the EEPROM application rows write protected through the in system update interface.

I am thinking option 1 might be the best if I can have a script that automatically edits the hex and cyacd during the build process to remove these rows.  Any guidance is appreciated.

Regards,

Kevin

0 Likes
4 Replies
KevinR_91
Employee
Employee
25 replies posted 10 likes received 10 replies posted

Can someone please help here?

0 Likes

Hi

To access only half of the EEPROM in the linker script you can set 1024 bytes offset for the EEPROM and check whether writing to flash will erase the entire EEPROM or only half of it. Please check this and update.

Thanks and regards

Ganesh

0 Likes

Ganesh,

So the idea here is that by changing the offset in the linker, it will only apply the EEPROM contents for the top half of the EEPROM when it generates the hex file?  I don't understand your comment of writing and erasing to flash erasing the entire EEPROM.

Flash and EEPROM are separate spaces in this devices, and with the linker change it shouldn't impact access to the EEPROM it would just impact the creation of the hex correct?  Or are you saying that this will also impact the programmer so it doesn't touch the EEPROM not listed in the hex?

Regards,

Kevin

0 Likes

Hi Kevin,

Apologies for the delay in response.

>>"So the idea here is that by changing the offset in the linker, it will only apply the EEPROM contents for the top half of the EEPROM when it generates the hex file?"

--> Yes. You are correct. The PSoC uses system calls to program the EEPROM from the hex file.

>>"Flash and EEPROM are separate spaces in this devices, and with the linker change it shouldn't impact access to the EEPROM it would just impact the creation of the hex correct?"

--> Yes. You are correct.

Thanks

Ganesh

0 Likes