4 Replies Latest reply on Nov 5, 2013 1:31 AM by jeslin.paul

    TrueTouch Multi-Touch CY8CTMA140 - Firmware upgrade through I2C

    jeslin.paul

      Hi,

         

      I'm trying to upgrade the firmware of the TrueTouch Multi-Touch CY8CTMA140 without using the SOC programmer but through I2C interface. I have got the firmware files "ZXXL7C.hex" and "CT5138V01.hex" (each of 70.8Kb size) from Truly vendor.

         

      Following are the issues when I try to upgrade the Firmware,

         

          

         

                

         

      Reading the Firmware version:

         

      1.       I’m following the below mentioned sequence

         

      W 24 00 00 FF A5 00 01 02 03 04 05 06 07

         

                              W 24 11

         

                        Then when I read, I got 0x85 0x00 as firmware version, after programming the new firmware  ("ZXXL7C.hex" and "CT5138V01.hex" ) I’m getting same firmware version.  

         

      Updating the firmware with “CT5138V01.hex” / “ZXXL7C.hex”

         

      1.       I’m following the below mentioned sequence

         

      W 24 01

         

                               Read back BL_STATUS bit4 – Not set, Retry for 10times with delay of 30ms

         

      W 24 00 00 FF A5 00 01 02 03 04 05 06 07 – Flash command initiate record – Passed

         

      Check_record

         

      Prepare_record

         

      Flash_record

         

                        Note: During Flash record I2C write passed only when we set the I2C speed in 100khz and it fails when we set the speed as 400khz

         

                      After flashing when I test the multi touch the second Touch coordinate comes in junk values (Eg: x – 1900 y – 1000) also this values is not consistent. Is this “CT5138V01.hex” / “ZXXL7C.hex” the correct firmware that I have programmed in the device?

         

      2.       After Programmed the new firmware, restart the device, PCT went back to old state Second touch coordinate always remains (x – 0x00 y – 0x00) and no junk values. Is it need to program the new firmware each time after booting or it is one time programmable?