5 Replies Latest reply on Mar 23, 2020 4:57 PM by BushraH_91

    S29GL064S70TFI070 - DEV_PROGRAM_ERROR

    MaHa_4528156

      I am using the low levell driver from the downloads page to try and program the S29GL064S70TFI070 device.

       

      I am finding that some calls to "lld_WriteBufferProgramOp" return with error status "DEV_PROGRAM_ERROR".

      Why does this happen and how can I recover from it?

        • 1. Re: S29GL064S70TFI070 - DEV_PROGRAM_ERROR
          BushraH_91

          Hello Mark,

          Programming to the suspended sector, will cause program failure.

           

          Can you please answer these questions?

          1. Did you have erase suspend operations?
          2. Log “status_reg” value when seeing the DEV_PROGRAM_ERROR, send us the status_reg value for analysis
          3. As you mentioned “some calls to "lld_WriteBufferProgramOp" return with error status” – we assume some calls are success. Can you provide more detail of the failed “some calls”? e.g., only failed at specific locations? Or only failed after other specific operations?

           

          Thank you

          Regards,

          Bushra

          • 2. Re: S29GL064S70TFI070 - DEV_PROGRAM_ERROR
            BushraH_91

            Hello Mark,

            As per your request I am unlocking the thread.

             

            Thank you

            Regards,

            Bushra

            • 3. Re: S29GL064S70TFI070 - DEV_PROGRAM_ERROR
              MaHa_4528156

              Great, thanks Bushra.

               

              I have been able to get past the the DEV_PROGRAM_ERROR by modifying the lld_memcpy function in the lld_S29GL064S.c file by reducing the LLD_BUFFER_SIZE macro for this function from 256 to 128 (which seems to make sense as the write buffer is 256 bytes and we have a 2 devices configured as a single 32 but device - I have enabled the  LLD_CONFIGURATION_X8X16_AS_X32  macro in the lld_target_specific.h file.

               

              Also, we would like our software to be able to support both S29GL064S and S29GLxxxN devices but the drivers for each contain the same functions names so clash when compiled together. I could modify the driver to avoid this, but just wondered if you had any advice on how best to support both drivers?

              • 4. Re: S29GL064S70TFI070 - DEV_PROGRAM_ERROR
                MaHa_4528156

                Sorry, meant to ask above - you know why the 128 write buffer macro would work but the 256 does not?

                As a 32 bit device the word size is 32 bits rather than 16 - would this explain it?

                • 5. Re: S29GL064S70TFI070 - DEV_PROGRAM_ERROR
                  BushraH_91

                  Hello Mark,

                   

                  Everything should be taken care in the code. For interleaving 32-bit, as far as LLD_CONFIGURATION_X8X16_AS_X32  macro in the lld_target_specific.h is enabled, LLD_BUFFER_SIZE macro does not need to be changed.

                   

                  LLD_BUFFER_SIZE macro should be 128 for GL064S, not 256

                   

                  Thank you

                  Regards,

                  Bushra