Tool/software:
Hello E2E community,
we are trying to program a BQ27520-G4 with a golden image that we created using the same chip. Unfortunately the programming fails pretty early in the process because reading register 0x66 does not return the expected
value.
The *bq.fs or *df.fs files we used specify every step in the process using the "flash stream file format". After every "write step" the data integrity of the flash is verified by reading from register address 0x66.
The process expects the contents of this register to be always 0x00.
For some reason this check returns some other value as soon as the first bigger block of data has been written (most of the time the register returns 0x02).
First we tried to program the chip as part of our custom hardware by implementing the source code from document SLUA801 (https://www.ti.com/lit/an/slua801/slua801.pdf?ts=1749655237791&ref_url=https%253A%252F%252Fe2e.ti.com%252F).
We also tried to repeat the steps from the flash stream file manually using BQ Studio, but the behavior has been exactly the same.
Here are the first couple of lines from one of the golden images we had problems with (.bq.fs-file):
;--------------------------------------------------------
;Unseal device
;--------------------------------------------------------
W: AA 00 14 04
W: AA 00 72 36
W: AA 00 FF FF
W: AA 00 FF FF
X: 1000
;--------------------------------------------------------
;Go To ROM Mode
;--------------------------------------------------------
W: AA 00 00 0F
X: 1000
;--------------------------------------------------------
;Data Block
;--------------------------------------------------------
W: 16 00 04 00 00 00 83 DE
W: 16 64 65 01
X: 400
C: 16 66 00
W: 16 00 02 00 00 00 EA FF 33 06 FA 33 8C FA 33 39 FE 33 41 FE 33 FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F 29 03 3F 58 CB 33 C1 00 08 00 00 00 00 00 00 FF AA 0E FB A7 0E FF A6 0E FF A1 0E FF A0 0E FE A3 0E 6C A2 0E D2 FF 3A FF A1 0E 63 A0 0E FF A3 0E
W: 16 64 C9 34
X: 2
C: 16 66 00
The last line ("C: 16 66 00) is where the first error appears. Strangely enough the first comparison 4 lines earlier succeeds.
It would be great if you could give me some insight into what could be the problem.
Thank you very much.