Emulated EEPROM 2.0 and PSoC 4 BLE

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

cross mob
euggersh
Level 5
Level 5
5 sign-ins First solution authored 50 replies posted

It appears that since the 2.0 rewrite of the Emulated EEPROM component, it now supports PSoC 4 with BLE.  I'm trying to use this component in one of my projects and I'm running into an issue.

I can read from the emulated EEPROM without issue, but when I try to write to it, I end up in the default interrupt handler, so something is clearly going wrong in the hardware.

The CE195313 project works perfectly on my hardware, so it's not a board issue.  I've duplicated the code from the example and also made sure that my component and clock configurations match.  The only real difference that I can find is that because the example code is pretty small, the area of flash that gets allocated to the emulated EEPROM is pretty low in the address space (0x00001300), and in my project, which has a lot of code in it, it's pretty high (0x0001BC00).  I wouldn't expect this to make a difference, but maybe it does...?

The documentation for this new rewritten component is unfortunately not very complete and not quite in English, so I don't have much to go on.  Does anyone have any insight?

Thanks.

0 Likes
9 Replies
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

The Em_EEPROM v2.0 writes and reads are successful after placing the Em_EEPROM_em_EepromStorage array at location 0x0001BC00 at my end.

  • What is the EEPROM size used in your application?
  • Can you use the same EEPROM size in EEPROM code example (CE195313) and recreate the issue?
  • Are you using sprintf(), malloc() and related functions in your firmware? If yes, please increase the heap size.

Can you please share the project to recreate and debug further.

0 Likes

- I duplicated the component configuration from the example project, including the EEPROM size.

- I'm not using any of those functions or any dynamic memory allocation.

I can't share a proprietary project in a public forum.

0 Likes
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Thank you for update. We will get in touch with you.

0 Likes

Thanks.

0 Likes

In case it helps, here's the relevant code extracted from my project:

static const uint8 eeprom[EEPROM_PHYSICAL_SIZE] __ALIGNED(CY_FLASH_SIZEOF_ROW) = {0};

EEPROM_Init((uint32) eeprom);

EEPROM_Read(0, &storedValue, sizeof(storedValue));

EEPROM_Write(0, &value, sizeof(value));

0 Likes

When should I expect an update?

0 Likes
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Previously shared Em_EEPROM specific instructions looks fine. The issue seems to be specific to the project. Our Field Application Engineer (FAE) will provide you the latest updates.

0 Likes

When?

0 Likes
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

geon​ - can you email me and let me know which FAE in San Jose is helping user_362267832

0 Likes