Bootloader EEPROM address

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

cross mob
mjt_4825471
Level 1
Level 1
10 sign-ins 5 questions asked 5 sign-ins

I set an EEPROM section at 0x4E00 in Bootloader.And I want to read and write  EEPROM at same address(0x4E00)in bootloaderable.The start address of bootloaderable is 0x6000.If I define the same address ,it shows that  wrong image  overlaps section .

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

Hi,

Please note that the Emulated EEPROM will take double the size of what you set because it will use the extra space to keep the copy of data. Once you use Emulated EEPROM you do not have to use the flash write APIs. You can use the Emulated EEPROM APIs only. Please note that you have to uncheck the "Verify Application Checksum column" in the Bootloader component as mentioned in the following link.

https://community.cypress.com/t5/Knowledge-Base-Articles/Using-the-Emulated-EEPROM-Component-in-a-Bo...

Another method is you can use checksum exclude region as shown in the below link. In this method you do not have to use the Emulated EEPROM component. You have to use Flash write APIs directly.

https://community.cypress.com/t5/Knowledge-Base-Articles/One-time-IDAC-Auto-Calibration-in-PSoC-4-KB...

Please note that the flashwrite API will write complete row only. You have to read the flash row first, modify the bytes and then write the complete row. This is the hardware limitation.

Regards

Alakananda

View solution in original post

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

Hi,

Can you let us know the size of the EEPROM you want?

You can refer to the below attached KBAs for more details.

https://community.cypress.com/t5/Knowledge-Base-Articles/Using-the-Emulated-EEPROM-Component-in-a-Bo...

https://community.cypress.com/t5/Knowledge-Base-Articles/One-time-IDAC-Auto-Calibration-in-PSoC-4-KB...

Also you need to use the flash write APIs CySysFlashwrite api and for reading you can read directly.

Regards

Alakananda
0 Likes

The size of EEPROM is 256.The flash write APIs CySysFlashwrite api  changes 128 byte.sometime  I only  want to change four bytes and other bytes reserved.  

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

Hi,

Please note that the Emulated EEPROM will take double the size of what you set because it will use the extra space to keep the copy of data. Once you use Emulated EEPROM you do not have to use the flash write APIs. You can use the Emulated EEPROM APIs only. Please note that you have to uncheck the "Verify Application Checksum column" in the Bootloader component as mentioned in the following link.

https://community.cypress.com/t5/Knowledge-Base-Articles/Using-the-Emulated-EEPROM-Component-in-a-Bo...

Another method is you can use checksum exclude region as shown in the below link. In this method you do not have to use the Emulated EEPROM component. You have to use Flash write APIs directly.

https://community.cypress.com/t5/Knowledge-Base-Articles/One-time-IDAC-Auto-Calibration-in-PSoC-4-KB...

Please note that the flashwrite API will write complete row only. You have to read the flash row first, modify the bytes and then write the complete row. This is the hardware limitation.

Regards

Alakananda
0 Likes