How Do I Define Erase Values in an SPI Flash Device XML File for the Flash Center Software?

Question from the Customer:

I am using the Cheetah Host Adapter with the Flash Center Software, and I am working with a Micron MT25QL512 SPI Flash device. I am following the instructions to add a new device via an XML file. However, when I try to import that file, the following error is displayed:

 Flash Software error message

About my setup:

The device is powered independently of the Cheetah adapter, and the power feature has been disabled in Flash Center Software.

Here is information from the Flash Programmer log file, which includes the error message:

Timestamp Len Data
2017-Jan-23 08:06:35.186 Connected to Cheetah SPI at index 1 TP1364-071043 (USB 2.0).
2017-Jan-23 08:06:35.389 Supported Features: SPI(Standard)
2017-Jan-23 08:06:35.654 Adapter 1: Requested bitrate (133000 kHz) is not supported by the adapter. Bitrate set to 50000 kHz.
2017-Jan-23 08:06:51.349 In  \Users\Desktop\New folder\micron-spi-flash-MT25Q.xml, the following memory devices had undefined values or values set to zero:
MT25QL512 512-Mbit 3.3V

 

I have observed that if I change the parameter hasEraseAll from true to false, then the XML file is accepted and it works.

My questions:

  • Why would Flash Center accept the hasEraseAll parameter when it is false instead of true?
  • The MT25Q device from Micron has the erase all function, which is command 0xC7 – how do I enable this function?

Please review my xml file and let me know how to make it work.

Response from Technical Support:

Thanks for your questions! Here are details about hasEraseAll command and the related parameters.

The Requirements for hasEraseAll to Support Chip Erase

When hasEraseAll is set to true, this indicates that the device supports the chip erase command. In this case, both eraseAllInstruction and eraseAllTime must be defined.

The Parameters Required with hasEraseAll

Looking at your XML, we see that eraseAllInstruction is defined as 0xC7, but eraseAllTime is missing.

  • The parameter eraseAllTime is the number of microseconds required to execute the chip erase operation.
    • Use the minimum or the typical value, so the Flash Center Software can poll the device to wait for additional time if necessary.
    • If there are multiple speed grades for the memory part, we recommend using the lowest time value for this parameter, which must be non-zero.

After setting eraseAllTime, you should be able to continue programming your device with no errors.

Additional resources that you may find helpful include the following:

We hope this answers your question. If you need more information, please contact us at sales@totalphase.com.  You can also request a demo that applies to your application.

Request a Demo