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.

BQ78350-DEVICE-FW: BQ78350 Firmware Upgrade via stm32 mcu

Part Number: BQ78350-DEVICE-FW
Other Parts Discussed in Thread: BQ78350, BQSTUDIO

Tool/software:

Hello,

I have a .srec file from Battery Management Studio for BQ78350, I parse the .srec file. I can Unseal, Unseal-Full access the device and I can make the device run into ROM mode.

I need to upgrade the BQ78350 device according to .srec file. But I do not know the steps of upgrade. How can I write the .srec file into to BQ78350.

I know that the device address 0x16, I know that the maximum data size is 32 byte, but I do not know the frame structure to send block frames into the BQ78350.

Can anyone help me on that what is the frame structure of blocks like: Byte -> 0 Start byte,  Byte-> 1 Command etc. can anyone give me an example code or something like that!

Thank you.

  • Hello,

    This question has been assigned and will be reviewed when possible, in the meantime please attach assoicated files such as .gg/.log/.srec.

    Thank you,
    Alan

  • firmware.txt

    Hello, 

    I attached the file .srec as a .txt.

    Thank you,

    Yavuzhan

  • Hi Alan,

    I also determined the message sequence while BQ78350 is upgrading, I share the sequence. But there is a difference between .srec messages and the messages while firmware update, why the messages are different.

    Messages with addresses starting from 0x100000 are different, there is no difference in messages with addresses between 0x4000 and 0x5ffff.

    Messages from .srec file:

    S328001000000033FFE40033AADA0033AA7F0033AAA70033AD0E0015545400001E9B003FFFFF003FFF3B
    S32800100023FF0033B24C0033B2460033B2400033B2300033B22A0033B2240033B21B003D00D5003DA8
    S328001000461E9B003D0103003D0016003D000A003D0380003D0000003D0000003D8030003D0208007F
    S328001000693D003F000E2A20000EFADF0032FFE4000EAAFF000EA7F7000EA6FF003AD786003AAB8874
    S3280010008C000E1CFF0036FFC9000EA1FF000EA0FF000EA3FD000EA20E003AFFC4000EA1FF000EA0F4
    S328001000AF24000EA3FF000EA224000EA5BD000EA435003AFFBD000EA1FD000EA00E000EA3FD000EFF
    S328001000D2A20E003AFFBD003AAB96003AD82C0033FFE4000EAFFF00034F01000C113F0032FFC10023

    Messages from upgrade sequence:

    Start, h16 [ h0B | WR ], h05, h62, h02, h00, h01, hAF, h14, h01, h4F, h03, h3F, h11, h0C, hBA, hFF, h32, h2F, h10, h0C, hBF, hFF, h35, hFF, hFF, h23, h12, h00, h00, h22, h03, h00, hCC, h44, h00, hCE, h44, h00, hDA, h01, h00, h83, h00, h00, h22, h03, h00, hCF, h44, h00, h00, h00, h00, h00, h00, h00, h13, h89, h00, h1C, h06, h00, hF2, h44, h00, hF4, h44, h00, hDB, h01, h00, h82, h89, h00, h1C, h06, h00, hF5, h44, h00, h00, h00, h00, h00, h00, h00, h13, h88, h00, h1C, h06, h00, hED, h44, h00, hEF, h44, h00, hDC, h01, h00, h7A, Stop
    Start, h16 [ h0B | WR ], h00, h03, h02, h00, h00, h84, Stop
    Start, h16 [ h0B | WR ], h03,
    Restart, h17 [ h0B | RD ], h04, h6E, hFF, hC0, h00, hA2 NAK, Stop
    Start, h16 [ h0B | WR ], h05, h62, h03, h00, h82, h88, h00, h1C, h06, h00, hF0, h44, h00, h00, h00, h00, h00, h00, h00, h13, h01, h00, h20, h03, h00, hD1, h44, h00, hD3, h44, h00, hDD, h01, h00, h82, h01, h00, h20, h03, h00, hD4, h44, h00, h00, h00, h00, h00, h00, h00, h13, h02, h00, hF6, h02, h00, hD6, h44, h00, hD8, h44, h00, hDE, h01, h00, h92, h02, h00, hF6, h02, h00, hD9, h44, h00, hDB, h44, h00, hDF, h01, h00, h12, h03, h00, hF6, h02, h00, hDC, h44, h00, hDE, h44, h00, hE0, h01, h00, h93, h03, h00, hF6, h02, h00, h48, Stop
    Start, h16 [ h0B | WR ], h00, h03, h03, h00, h00, hEF, Stop
    Start, h16 [ h0B | WR ], h03,
    Restart, h17 [ h0B | RD ], h04, h93, h66, h03, h00, h1E NAK, Stop
    Start, h16 [ h0B | WR ], h05, h62, h04, h00, hDF, h44, h00, hE1, h44, h00, hE1, h01, h00, h66, h04, h00, h12, h00, h00, h01, h00, h00, h00, h00, h00, hD7, h01, h00, h66, h06, h00, h12, h00, h00, h02, h00, h00, h00, h00, h00, hD8, h01, h00, h0E, h05, h00, hD7, h01, h00, h00, h00, h00, hE5, h44, h00, hD7, h01, h00, h0E, h07, h00, hD8, h01, h00, h00, h00, h00, hE9, h44, h00, hD8, h01, h00, h91, h04, h00, h00, h00, h00, h00, h00, h00, hE7, h44, h00, hE2, h01, h00, h91, h06, h00, h00, h00, h00, h00, h00, h00, hEB, h44, h00, h23, Stop
    Start, h16 [ h0B | WR ], h00, h03, h04, h00, h00, hF9, Stop
    Start, h16 [ h0B | WR ], h03,
    Restart, h17 [ h0B | RD ], h04, h61, hCE, h01, h00, h02 NAK, Stop
    Start, h16 [ h0B | WR ], h05, h62, h05, h00, hE3, h01, h00, hF9, h05, h00, h00, h00, h00, h00, h00, h00, hE8, h44, h00, hE4, h01, h00, hF9, h07, h00, h00, h00, h00, h00, h00, h00, hEC, h44, h00, hE5, h01, h00, h12, h8A, h00, h1C, h06, h00, hFC, h44, h00, hFE, h44, h00, hE6, h01, h00, h83, h8A, h00, h1C, h06, h00, hFF, h44, h00, h00, h00, h00, h00, h00, h00, h12, h8B, h00, h1C, h06, h00, h01, h45, h00, h03, h45, h00, hE7, h01, h00, h83, h8B, h00, h1C, h06, h00, h04, h45, h00, h00, h00, h00, h00, h00, h00, h76, h0C, h00, hE3, Stop
    Start, h16 [ h0B | WR ], h00, h03, h05, h00, h00, h92, Stop
    Start, h16 [ h0B | WR ], h03,

    Thank you 

    Yavuzhan

  • Hi Yavuzhan,

    The .srec parsing is private information. BqStudio needs to be used for the programming of the .srec.

    Regards,

    Anthony