1 Reply Latest reply on Nov 23, 2011 4:37 AM by zsk

    unable to write last 2 blocks of CY14B108K

    prabhu.m

      unable to write in the alternative locations after 0xFFFEO in CY14B108K nvRAM.. attached the screen shot..

         

      please help me how to resolve this...

         

      Thanks.

        • 1. Re: unable to write last 2 blocks of CY14B108K
          zsk

          Hi Prabhu,

             

          CY14B108K is an 8 Mbit, x8 nvSRAM with RTC. Last 16 address locations (0xFFFF0 to 0xFFFFF) have been allocated for storing the RTC data.These last 16 address loactions are not writable until write "w" bit is set to "1" in the flag register @ location 0xFFFF0 before writing any data bytes in the RTC registers.  Most of the RTC registers store data in BCD (Binary Coded Digit) format, therefore a few bits in some RTC registers are always set to a "0" and can't be programmed with the user data. 

             

          Actual data memory (SRAM for storing user data) in CY14B108K device is 0x00000 to 0xFFFF0. To check whether RTC update are correct or not,  you can write the following data byte and read back. If you don't clear the "w" bit to "0", you can read back the same data you have written otherwise if you have cleared the "w" bit to "0" then you will find Second register (0xFFFF9) updating, if the crystal is connected across X1 and X2 and it is oscillating.

             

                                                                 0xFFFF0 - 0x02 -Set the "w" bit

             

          0xFFFF1 - 0x20

             

          0xFFFF2 - 0x00

             

          0xFFFF3 - 0x00

             

          0xFFFF4 - 0x00

             

          0xFFFF5 - 0x00

             

          0xFFFF6 - 0x00

             

          0xFFFF7 - 0x00

             

          0xFFFF8 - 0x00

             

          0xFFFF9 -0x00

             

          0xFFFFA -0x00

             

          0xFFFFB -0x00

             

          0xFFFFC -0x03

             

          0xFFFFD -0x23

             

                  0xFFFFE -0x11

             

          0xFFFFF -0x11

             

          Log report sent by you also shows that data read is failing for locations 0xFFFFE0 to 0xFFFFEF which is not likely to happen since its part of user memory. Please try writing data (0x55 or 0xAA) again only in memory locations 0xFFFFE0 to 0xFFFFEF, read back and verify whether failure is repeating?

             

          Thanks,

             

          Shivendra 

             

          Cypress Semiconductor