2 Replies Latest reply on Apr 19, 2020 7:47 PM by lili_285866

    PSoC4 Em_EEPROM 2.0 Fixed Address

    lili_285866

      Hi Sirs,

      Can you help add PSoC4 Em_EEPROM 2.0 Fixed Address 0xf800 code , I step by step from user component datasheet ,My I2C is abnormal.I spent a very long time testing and did not succeed in flash the correct address.The attachment project is that I test that the non-fixed address can work.

       

      Thanks,

      Lin

        • 1. Re: PSoC4 Em_EEPROM 2.0 Fixed Address
          GaneshD_41

          Hi Lin,

           

          Please go through section "Placing EEPROM Storage at Fixed Address" in page number 3 of the Emulated EEPROM component datasheet. It has the step by step procedure to keep the Emulated EEPROM at particular address. Basically, you need to modify the linker script and in that you have to mention the address where you want to add your section.

           

          Please note that the place you allow for Emulated EEPROM in flash should not corrupt the code memory in flash. We generally recommend you not to place Emulated EEPROM at particular address unless there is a particular need. This is because the implementation of Emulated EPROM 2.0 component internally is little complex and internal to Cypress. So the location of data storage is not straight forward if you read the Flash.

           

          Can you please tell us what is the need for placing Emulated EEPROM at particular address location in the present application?

           

          Please refer EzI2C_Slave_SCB code example in PSoC Creator and let us know if you face any issues.

           

          Please find the attached project for reference for placing Emulated EEPROM at particular address.

           

          Thanks

          Ganesh

          • 2. Re: PSoC4 Em_EEPROM 2.0 Fixed Address
            lili_285866

            Hi Ganesh,

            Can you help me see if there are any errors? for my step .

            /--------------------------------------------------------------------------------

            1.I add code to cm0plusgcc.ld as below is right ?

             

                /* place .MY_section at adress 0xf800,  */

            .MY_section 0xf800 : ALIGN (4)

            {

              KEEP (*(.MY_section))

            } >rom

            /----------------------------------------------------------------------------------

            2.and revise main.c

            uint8_t eepromArray[15] ;

            replace this :

            unint8_t eepromArray[15] CY_SECTION(".MY_section")  ;

             

            /----------------------------------------------------------------------------------

            3.Then setup customer linker script

             

            Thanks,

            LIN