cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

ShVy_264716
New Contributor II

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
Reply
1 Solution
VenkataD_41
Moderator
Moderator

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
Reply
1 Reply
VenkataD_41
Moderator
Moderator

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
Reply