5 Replies Latest reply on Nov 24, 2020 2:02 PM by BushraH_91

    S29GL01GS10TFI010 programming

    user_4822351

      Hello,

       

      i have a design where I am using a S29GL01GS memory. I have tried to program the NOR memory with two different methods:

      1. Using a programmer

      2. Through a microprocessor using hard coded via JTAG

       

      With both methods I found an issue.

       

      1)

      The programmer does not give me much information about the issue but it erase succesfully, seems to write successfully too, but during the verification of the write action, an error occurs. The log is the following after loading the file to be programmed and try to program it after an erase:

      013:  File has been loaded, checksum: 16bits_0x3E91 £¬32bits_0x1B243E91 :

      014:  Chip pins contact is detected OK.

      015:  Chip ID verification OK.

      016:  Start writing chip......

      017:  Auto erasing...

      018:  Erase successful£¬Elapsed time£º267.9 seconds¡£

      019:  Start writing...

      020:  Write successful£¬Elapsed time£º62.29 seconds¡£

      021:  Auto verifying...

      022:  Chip verification error, start position: 0x37506E.

      023:  Verification failure£¬Elapsed time£º0.549 seconds¡£

      024:  Write error, operation terminated.

       

      2)

      When programming through the microprocessor, it seems to happen something similar, it is like the erase action is succesful, but when writing, it fails. The log is:

       

      cmdwin::fl::device -d "S29GL01GP" -o "128Mx8x1" -a 0xe8000000 0xefffffff

      cmdwin::fl::erase all

      Beginning Operation ...   

      -------------------------

      Performing target initialization ...   

      Downloading Flash Device Driver ...  

      Reading flash ID ...

      Erasing entire flash ...   

      Erasing ...

      Erase Command Succeeded   

      cmdwin::fl::image -f "/home/*****" -t "Auto Detect" -re on -r 0xe8000000 0xe801ffff -oe on -o 0xe8000000

      cmdwin::fl::write

      Beginning Operation ...   

      -------------------------

      Using restricted address range 0xE8000000 to 0xE801FFFF  

      Programming file /home/******.bin  

      Auto-detection is successful.  

        File is of type Binary/Raw Format.  

       

      Downloading Flash Device Driver ...  

      Reading flash ID ...

      Auto-detection is successful.  

        File is of type Binary/Raw Format.  

       

      Downloading 0x00010000 bytes to be programmed at 0xE8000000  

      Downloading 0x00010000 bytes to be programmed at 0xE8010000  

      Executing program ....  

      Error:  Program failed.   Flash driver reports the following error(s):  Chip reported error during program. Please check that the sector you are programming is erased.

       

      any idea of what the issue could be? It can be checked that the sector is erased:

      Downloading Flash Device Driver ...  

      Reading flash ID ...

      Erasing Sector 0xE8000000 to 0xE801FFFF  

      Erasing Sector 0xE8020000 to 0xE803FFFF  

      Erasing Sector 0xE8040000 to 0xE805FFFF  

      Erasing Sector 0xE8060000 to 0xE807FFFF  

      Erasing Sector 0xE8080000 to 0xE809FFFF  

      Erasing Sector 0xE80A0000 to 0xE80BFFFF  

      Erasing Sector 0xE80C0000 to 0xE80DFFFF  

      Erasing Sector 0xE80E0000 to 0xE80FFFFF  

      Erasing Sector 0xE8100000 to 0xE811FFFF

      ....

       

      Thank you in advance

        • 1. Re: S29GL01GS10TFI010 programming
          BushraH_91

          Hello Paula,

          Thank you for contacting Cypress Community Forum, an Infineon Technologies Company. Are you using S29GL01GS or S29GL01GP?

           

          Regards,

          Bushra

          • 2. Re: S29GL01GS10TFI010 programming
            user_4822351

            I am using S29GL01GS but the microprocessor TAP only have the option to select S29GL01GP, but I thought that both memories distributions are equals. Is that assumption wrong?

            Anyways in the first programming method we define the exacly Part number and still having issues.

             

            Thank you

            • 3. Re: S29GL01GS10TFI010 programming
              BushraH_91

              Hello Paula,

              Please send comparison between programmed data and read data, to understand how verify was failed.

               

              Thank you

              Regards,

              Bushra.

              • 4. Re: S29GL01GS10TFI010 programming
                user_4822351

                I can not read data neither, I also get an error while verifying.

                Sorry but I can not share that info.

                 

                Anyways, we could check with the programmer that the file read was 129MB while the memory size is 128 and the data written too.

                 

                When programming using the microprocessor it seems that we can do something else, but with a new error:

                Erasing Sector 0xEFFA0000 to 0xEFFBFFFF

                Erasing Sector 0xEFFC0000 to 0xEFFDFFFF

                Erasing Sector 0xEFFE0000 to 0xEFFFFFFF

                  log: Clearing the status

                  log: Setting up Registers

                  log: Commanding target to run

                Erasing ... log: Reading erase return status

                Error: Erase failed. Flash driver reports the following error(s): Sector Protection Error log: Timestamp: Thu Nov 19 16:19:34 2020 Error: Erase failed. Flash driver reports the following error(s): Sector Protection Error

                 

                Can we disable that protection?

                • 5. Re: S29GL01GS10TFI010 programming
                  BushraH_91

                  Hello Paul,

                  Please refer to application note: “Migration from GL-N and GL-P to GL-S Flash”: https://www.cypress.com/file/199261/download

                  Review the migration application to see all the differences and check that all the specs are correctly used.

                  A potential issue could be related to the bus width configuration where the x8 configuration is supported by the S29GL01GP but not supported by the S29GL01GS.

                  Some other points;

                  • The CFI version which is different on these two devices.
                  • The unlock bypass command is not supported by the S29GL01GS.

                   

                  If all of the above do not help then we definitely need to look at the LA traces/captures to identify what’s going wrong. We also need more details about the error description, polling data when error happens (It must polling data since status register is not supported by the GL-P).

                   

                  Thank you

                  Regards,

                  Bushra