Emulated EEPROM v2.20 not working in CY8CKIT-049 42xx Prototyping Kit

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

cross mob
lock attach
Attachments are accessible only for community members.
ShVy_264716
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Hi Everyone. I have an issue with Emulated EEPROM Component Versioned 2.20 in my PSoC4 Prototyping kit.

I have gone through the datasheet of Emulated EEPROM Component Version 2.20 and I have followed all the steps listed to set up fixed location based EEPROM in my PSoC4. While editing the linker script file "cm0gcc.ld" copy (custom_cm0gcc.ld), the key point is finding the line

.cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } >rom

in the code and adding the code segment

EM_EEPROM_START_ADDRESS = <EEPROM Address>;

.my_emulated_eeprom EM_EEPROM_START_ADDRESS :

{

KEEP(*(.my_emulated_eeprom))

} >rom

below it. I can not find the line in the linker file anywhere. What can be the reason behind this and how to resolve it? Attached herewith is my project and linker file.

Regards

Shaunak Vyas

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

.cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } >rom

In case of Bootloadable projects the above line will not appear. So you need to directly use the Em_EEPROM component and allow the compiler to choose the location it wants to store.

Please note that in case if you are using the Emulated EEPROM inside the Bootloadable project you should not select the checkbox "Verify application checksum" in the Bootloader component. Otherwise the checksum fails as you change the data present in the flash of bootloadable project.

If you want to store your custom data you can store in metadata section upto 12 bytes. Please refer the Bootloadable component datasheet for more information.

Thanks

Ganesh

View solution in original post

0 Likes
1 Reply
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

.cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } >rom

In case of Bootloadable projects the above line will not appear. So you need to directly use the Em_EEPROM component and allow the compiler to choose the location it wants to store.

Please note that in case if you are using the Emulated EEPROM inside the Bootloadable project you should not select the checkbox "Verify application checksum" in the Bootloader component. Otherwise the checksum fails as you change the data present in the flash of bootloadable project.

If you want to store your custom data you can store in metadata section upto 12 bytes. Please refer the Bootloadable component datasheet for more information.

Thanks

Ganesh

0 Likes