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.

TPS65982 App Code Update via I2C

Other Parts Discussed in Thread: TPS65982

 

We are currently using a TI Config tool which produces a xxx_low_region.bin (~61kB) and a xxx_flash_image.bin (~193kB) based on our settings in the tool. Are either of these the data binaries required by the I2C update? If not, what is the preferred way to generate the I2C update’s required file(s)?

 

Our current method of configuring the TPS chip is to burn the xxx_flash_image.bin onto the TPS chip’s dedicated SPI flash via HW programmer. This has the added benefit of ensuring that all trace of previous TPS configuration is replaced with new configuration. Does I2C update methodology provide as wide sweeping of coverage, i.e., is there any chance that settings defined in our config tool would not be able to be changed via the I2C update?

  • In terms of firmware update, we have two primary methods: SPI FW Update and Host Interface (I2C) FW Update. The TPS6598x Host Interface Utilities Tool can be used for either of these methods, and it can be downloaded at: www.ti.com/.../toolssoftware

    The low region file contains a 4K boot header and the application image. This file is used for Host Interface (I2C) flashing, which only updates a single region at a time. This is a useful update method for the end user because it ensures that you always have usable code. For example, if power is lost while updating region 0, the region would not longer be valid. However, the TPS6598x could still power up with the valid app code in region 1 that was not lost. Therefore, if you used the Utilities Tool to update both region 0 and region 1 with the same low-region image, this would effectively be the same as updating via SPI using the full-flash image.

    The full-flash image contains the boot headers and two copies (region 0 and region 1) of the application code. This is the file that is used in SPI FW Update. This is the complete image that is stored in flash, which you are familiar with.
  • Thanks for the info! This is just what I was looking for.

    -Erik

  • Erik,

    Attached is the TPS65982 datasheet drawing of the FW extended to show both Region 0 & Region 1 in a single image. This binary file would be called the "flash.bin" coming out of the Config Tool, which contains all of the data needed to program an empty SPI Flash IC.

    As Joey said, the "low-region.bin" file is used when updating the FW over I2C. Before an I2C FW update, Region 0 and Region 1 are identical, and after an I2C FW update they are also identical with a newer FW image.  Both Region 0 & Region 1 are filled with the "low-region.bin" data.

    You can refer to my other Discussion post to download a Python script that takes the  "low-region.bin"  file as an input and performs the ideal I2C Full FW Update flow: