7 Replies Latest reply on Jul 26, 2016 10:41 AM by asier_1604701

    How to control em_eeprom?

    dinaline_1572371

      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'

        • 1. Re: How to control em_eeprom?
          user_1377889

          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

          • 2. Re: How to control em_eeprom?
            dinaline_1572371

            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?

            • 3. Re: How to control em_eeprom?
              user_1377889

              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

              • 4. Re: How to control em_eeprom?
                dinaline_1572371

                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??

                • 5. Re: How to control em_eeprom?
                  user_1377889

                  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

                  • 6. Re: How to control em_eeprom?
                    dinaline_1572371

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

                    • 7. Re: How to control em_eeprom?
                      dinaline_1572371

                      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[i] = (*((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

                      • 8. Re: How to control em_eeprom?
                        asier_1604701

                        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.