2 Replies Latest reply on Jun 30, 2019 11:08 PM by MaPe_1936286

    Serial NVRAM



      I need to interface a PSoC4 to a Serial I2C EERAM 47C16 from Microchip.


      In PSoC Creator the Serial NVRAM component can handle almost anything about the communication.

      However, I have a limitation with the function which writes the Memory Control Register ( SerialNVRAM_1_MemCtrlRegWrite).

      This function allows to write a dataByte to the SerialNVRAM_MEM_CTR_REG_ADDR which is fixed to 0.


      But for the EERAM 47C16 there is also a second Memory Control Register whose address is 0x55 (this is a command register) and it allows to send Store and Recall commands and with the API provided it is not possible to access it.


      So I ask some suggestions, how can I extend the Serial NVRAM component functionality ?

      1) Is there a way to modify or add a new function to the Generated Source?

      2) Or is it better to copy and paste the SerialNVRAM_1_MemCtrlRegWrite function to my project code, change the name and modify ?

      3) Or is it possible (maybe) to request an extension of the component to the PSoC Creator developers?


      Best Regards


        • 1. Re: Serial NVRAM

          Hello Maurizio,


          Yes, you can extend the functionality by making modifications to the Generated Source files. In the header file SerialNVRAM_1.h you can add another #define for the second memory control register (let's call it SerialNVRAM_I2C_MEM_CTR_REG2_ADDR).


          And, then modify/add functions to write to the second memory control register (SerialNVRAM_I2C_MEM_CTR_REG2_ADDR) instead of SerialNVRAM_MEM_CTR_REG_ADDR in SerialNVRAM_1.c file.


          After this right click on the project > Build Settings > Code Generation > Skip Code Generation > True. This will ensure all your changes aren't lost when you build the project.



          1 of 1 people found this helpful
          • 2. Re: Serial NVRAM

            Thank you Dheeraj