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.

BQ40Z60: Flash memory checksum calculation

Part Number: BQ40Z60

Hello,

I am trying to write data to the flash of the BQ40Z60 without using the BQ Studio and I am having trouble with the checksum. After some research I found a number of posts describing a calculation that seem not to apply to the BQ40Z60 (e.g. https://e2e.ti.com/support/power_management/battery_management/f/180/t/209823 ).

For instance when I change the device number to ABC  in BQ Studio the using the Advanced Comm SMB functions the data package sniffed from SMBus is as follows:

0x44: Alternate Manufacturer Access()

0x06: Data byte count

0x80 0x40: Physical address

0x03 0x41 0x42 x043: Actual data

0x84: Checksum

Using the calculation that is mentioned in the post above the result is as follows:

0x80 + 0x40 + 0x03 + 0x41 + 0x42 + 0x43 = 0x0189

Taking the LSB (0x89) and subtracting it from 0xFF the result is: 0xFF - 0x89 = 0x76

But the transferred checksum is 0x84

So is there a documentation which I am missing that shows the correct calculation for this chip or am I doing the calculation wrong?


Thank you in advance,

Moritz Schilling