This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65987D: SPI flash update over I2C

Part Number: TPS65987D
Other Parts Discussed in Thread: TPS65987, TPS65988

Hi Team,

1. question 1

we want to update an external spi flash(MX258006EM), and refer to the PDF  http://www.ti.com/lit/an/slvae21a/slvae21a.pdf , following  the update-process in Table 1 and figure 2. 

The previous steps are fine until this step -- "flash memory verify". We use 4cc command FLvy to verify if the patch/configuration is valid, as the explaining in Table 4-35 (PDF SLVUBH2),

it will return 0x00h if the patch/configuration is valid. But we get a value 0x01h, which means the patch is not valid. The low region binary 'C' array format was generated by the Application Customization GUI.

We can't find why the patch/configuration is not valid.If we ignore that, continue to execute the last step--"cold reset using GAID", the spi flash will be updated successfully and it works.  It is so strange.

2. question 2

      If we have a new blank SPI flash, it can be updated directly over the I2C of TPS65987 as the PDF's introduction?  If not ,how to program it, it need to program a full "flash.bin" generated by the Application Customization GUI?

thanks

Best Regards

Peng



"

Best Regards,

peng

  • Hello,

    Question 1

    Could you explain the steps you follow for generating the binary image from the GUI? Want to make sure you are generating the correct image

    Question 2

    This is an excerpt from the document you referenced

    The external SPI-Flash shall be programmed with a full 'flash.bin' the very first time the platform is powered up so that the region headers are set up correctly. The subsequent flash-updates can be executed by the external hosts by following the sequence detailed in subsequent sections. A full 'flash.bin' can be generated by the device's 'Application Customization Tool'.

    You will need to first flash a valid image to the external flash before you can update the contents using the app note as reference. There are programmers out there such as an aardvark and total phase flash center that let you flash a binary image directly to an EEPROM. You will need to use this type of device to first program the binary

  • hello,Adam

    thanks for your reply.

    1.

    Refer to the document  http://www.ti.com/lit/an/slvae21a/slvae21a.pdf , there is no introduction about how to generate the binary image, but in the example code, I found it use tps6598x_lowregion_array[], and in another document "TPS65987 and TPS65988 SPI Less Host Programming Over I2C ", it introduces how to generate the  low region binary 'C' array. I did as this picture

    2.

    I want to know if the first flashing need a full flash image, do I need to generate a full image like this:

    Best regards

    Peng

  • I also found another question.

    The example code indicated to keep port disabled during the flash-update, as this picture:

    But if I disabled the port , the next step FLrr command would fail. If I didn't disable the port, the execution of FLrr command succeed.

  • Hello,

    You must use the full flash image when programming to the external flash. This should fix your error