How to control em_eeprom?

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

cross mob
Anonymous
Not applicable

At first, Proc ble has em_eeprom. so i decided em_eeprom. but em_eeprom is not supproted with Proc.

   

so i had to use em_eeprom in Psoc. And 'em_eeprom' is not compatible with PRoc, so i had to copy code about em_eeprom.

   

and I success wrting flash memory(depend on return parameter). but nothing can check success. and I want to use reading flash

   

as well as writing flash. but API is not produced. according to datasheet, 'there are no I/O connection without API'. if so, how can i

   

read flash memory which i write. I tried to read flash adress, but failed.

   

how can i do?

   

ps) I refer datasheet 'em_eeprom'

0 Likes
8 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There have been some issues reported with the BLE stack and using emulated eeprom, so it has been taken out from the component library. Nevertheless there still are APIs to write to flash, look into the "System Reference Guide"  chapter 8, accessible from Creator Help menu.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

thanks bob. "system reference Guide" chapter 8, i already read. I didn't understand your saying. the way which I tried to(copy code em_eeprom code)

   

might do not work well??

   

and I also use read from flash memory,  there is only one way that control flash memory address?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I am very sorry, but due to language barrier (I am not native English speaking) I do not understand exactly what you ask. Can you please issue your questions once more in other words.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Above all, Thanks for answering my question kindly. due to my question, you know the most task that I tried to do. 

   

I want to know two things.

   

1. Write function. in Proc datasheet, proc has em_eeprom. so i tried to use this component. but program named 'psoc creator' is not compatible with em_eeprom in proc. so alternative way that i tried is copying from psoc em_eeprom soruce to my code. Is that working well??

   

2. After writing some data in em_eeprom, I want to read this data. but API doesn't support read function. and in datasheet, NO i/o connection supports. how can i read from flsh memory??

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

1. There is a reason, as I told before, that there is not an em_eeprom available fror PRoC module. Wheter your code copying does work I cannot tell, only you can.

   

2. There are no APIs to read from flash, Just assign the address to a pointer of your saved structure and access flash contents using pointer.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thanks. I tell you after asking my case. i really appreciate you

0 Likes
Anonymous
Not applicable

I almost solved it. so i waited for more effective function that use flash memory.

   

as you told me. component(em_eeprom) can't use it because 'Psoc Creator' can't use it.

   

so I used Sflash_example. that example use write function 'CySysFlashWriteRow'

   

and CySysFlashReadRow function could make by using CySysFlashWriteRow

   

it follows like this

   

uint8 CySysFlashReadRow(uint8 save_buf[])
{
    cystatus returnValue = CYRET_SUCCESS;
    uint8 i;
   
    for (i = 0u; i < CY_SFLASH_SIZEOF_USERROW; i++)
    {
        save_buf = (*((uint8 *) (CY_TEST_SFLASH_ADDR + i)));
    }
    return 0;
}

   

Thanks for your help

   

PS. flash memory range that we could use is about 256 byte from 0xfffff200 to 0xfffff3fe

0 Likes
Anonymous
Not applicable

Are these APIs on "cyFlash.c" correct for PRoC (module CYBLE-012011-00)  or they are just for PSoC 4 ? 

   

My idea is to save whitelist addresses on SFlash. Any example of writing a reading these addresses into SFlash ? 

   

Thank you very much,

   

Asier.

0 Likes