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.

BQ27546-G1: Programming golden-image in dataflash

Part Number: BQ27546-G1
Other Parts Discussed in Thread: BQSTUDIO

Hello,

I would like to know the recommended method of flashing the DataFlash portion (No InstructionFlash) of the BQ27546-G1, given that using bqStudio is not an option.

Elsewhere on this forum it is recommended (for other type of fuel gauges) to not use the ROM access when only updating the dataflash, but instead use a (badly documented) AltManufacturerAccess() command 0x3E instead [1]. However the TRM for my part documents another command with that value: DataFlashClass(). At first I thought it was just different naming for the same thing (considering DataFlashBlock() command is at 0x3F) but then I realized the Class and Block meaning is swapped. Also the class values seem to have no relationship with addresses from the srec file (0x004xxx range).

So how do I get the golden-image safely in there via I2C? It seems it should be possible via the DataFlashClass/Block commands, but then how do I map the srec addresses to classes/blocks? Using ROM mode really does not have my preference considering all the warnings of bricking the part. Also because it is also very badly documented, and I don't like sending magic packets of which I don't know what's it doing or why.

With respect to that I must say I am really loathing all the secrecy and obfuscation. How hard can it be to just have a simple flashing method? That AltManufacturerAccess() method seemed fine, just document it properly and stick with it.

[1] e2e.ti.com/.../bq28z610-how-to-exit-the-rom-mode