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.

BQ27510 bricked during firmware upgrade

Other Parts Discussed in Thread: BQ27510

I programmed a data flash file (*.dffs) into my BQ27510 via I2C.
"SLUA541A - Updating the bq275xx Firmware at Production"reads: "No row contains more than 96 data bytes."

So my programming routine read max. 96 bytes per line and programmed it into the Gauge.
After some lines the Gauge was dead.

Reason: The Golden device files contain lines with max. 100 bytes data content.
The 4 missing bytes shredded my Gauge.

Is there a way to wake it up again?

  • Does the gauge respond on I2C device address 0x16 (instead of 0xAA)?

  • No reaction on address 0x16 also.

    Where is any info about address 0x16?
    I didnt find anything neither SLUSAT1() nor in SLUUA97 (Technical Reference Manual)
  • The gauge has an on-chip controller which can execute code from ROM or FLASH (=gauge firmware). Updating the gauge firmware requires that the controller executes ROM code, which will configure the gauge to respond on 0x16 instead of 0xAA. There are some cases where a wrong firmware causes the gauge to boot up in ROM mode (=it will only respond on 0x16). If that is the case then it is possible to write the correct firmware. If it doesn't respond on 0x16 and 0xAA then the controller exited ROM code and is now executing (corrupt) code from FLASH.
  • The problem came when updating the df.fs file, NOT the firmware-file bq.fs.The firmware is unchanged, only the data-file was updated.

    This is my I2c-Bus. No devices @ 0x55 or 0x8 present:

    # i2cdetect -r 1 -y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- 0b -- -- -- --
    10: -- 11 12 -- -- -- -- -- UU -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: 50 -- -- -- -- -- -- -- 58 -- -- -- 5c -- -- --
    60: -- -- 62 -- -- -- -- -- -- -- -- 6b -- -- -- --
    70: 70 -- -- -- 74 -- -- --