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.

BQSTUDIO: possible bug in version 1.3.101 for Golden Image

Part Number: BQSTUDIO
Other Parts Discussed in Thread: BQ28Z610, , BQ28Z610-R1

Hello,

the bqStudio version 1.3.101, for the BQ28Z610 2610_0_20, misses to write the instructions for the configuration area of the ROM: its .bq.fs files flashes the ROM but it cannot act properly:

  • in case the starting ROM is different from the .bq.fs, its version remain the same at the command 0x0002 and the IFC Permanent Failure is risen
  • the UNSEAL keys are not written
  • I guess that also the IFChecksum is not written....

Below a picture which shows what I mean, I hope. The left one is from the .bq.fs file by the Golden Image of -R1 version, the right one is from the Golden Image of the v0.20. 

   

I have opened other 2 threads due I thought it was a problem of my HW, or my code or something missing in the procedure....

Indeed, I have discovered this .... 

I hope a new version of bqStudio will be shortly released. Meantime I need to use some tricks....

Thanks

Maurizio 

  • Hello Maurizio,

    I believe the best course of action here is the following.

    1. Program the fs file into the system and export a gg file.

    2. Compare the gg file between the two fs files and see if they match in terms of parameters.

    Thanks!

  • Hello Kang Kang,

    thanks for reply; to be honest I am a little disappointed because at me it sounds a big problem while it seems not so much for the community...

    However, in reply at your suggestion, the result is:

    • the .gg.csv files are equal in the data, but different in the header at the rows "Firmware version" and "Build number and in some settings not present in the v.017 FW version.

    However, I have done more than what you suggest, let me to summarize in brief what I did and with results, you can try to do the same.

    1. by bqStudio I have made the golden.bq.fs file from a BQ uploaded with the current golden.srec (it has been built starting from v0.20 Firmware version: it is the standard .srec we have been programming in production from the beginning)
    2. then I have taken the board with a BQ28Z610 just assembled: the FW version is 0.17 Build 22  and flashed the golden.bq.fs file by the parser into a PIC which interfaces the BQ on the board to the PC 
    3. again by bqStudio, the BQ is read and the .gg.csv file is exported; below are listed the results:
      1. the .gg.csv file are the same except the header and the settings not present in the FW v0.17! I've described above;
      2. the BQ ROM version is the same 0.17 (against the 0.20 of the flashed file);
      3. the IFC error is risen and the BQ enters in Permanent Fail (I need to send the PF CLEAR cmd!); 
      4. the UNSEAL and FULLACCESS keys are not changed from the standard.
    4. Then, I have read the memory and exported to flashed.srec and compared with golden.srec: I barely believed in what I saw: the ROM and RAM are the same in the two .srec files only the final parts are different, I guess it is in some kind of configuration area, where ROM version, keys and checksum are stored.
    5. If I use the .bq.fs file generated from the FW v1.01 Build 29, to flash a BQ with v.017, there are no differences in the files and the BQ28Z610 works normally: its ROM version passes to 1.01 and the UNSEAL and FULLACCESS keys are the ones I have set for our products (different from standard).
    6. the .bq.fs file generated from v1.01 has several rows not present in the .bq.fs file generated by the v0.20 in the bqStudio release 1.3.101 Build 1

    You can do the same operations I have done, if you think I have made some mistakes.

    Be back here after you have tried...... I would like to interface the Team, but I haven't found any way to give feedbacks of the developing version of the bqStudio released.  

    Maurizio

    PS: another thing I do not understand is why in the v0.17 is not present the "Golden Image" command and in the v0.20 that command is different from  v1.01....  

  • Hello Maurizio,

    I did not read through your full posts but thought i should bring up an important point in case it matters.

    Is it possible that there is some hardware incompatibility? The hardware in BQ28Z610 and BQ28Z610-R1 is different and the firmware may not be interchangeable.

    BQ28Z610 to BQ28Z610-R1 Change List is here https://www.ti.com/lit/an/sluaa42/sluaa42.pdf for reference.

    I believe TI recommends that you use the latest hardware and firmware. 

    Regards,

  • Hello Shirish,

    thanks for reply.

    The matter of BQ28Z610-R1 vs. BQ28Z610 is not under discussion in this topic: I have opened a further forum about that, look at https://e2e.ti.com/support/power-management/f/196/t/939763. In any case, the SLUAA42 states the FW can be ported from BQ28Z610 to BQ28Z610-R1, then they are compatible, the difference is in some HW mode of operating of the I2C bus.

    The topic of this post is the bug into the 2610_0_20-bq28z610.bqz, embedded with bqStudio 1.3.101 Build 1, in the part which generates the Golden Files.

    Maurizio

  • Hello Maurizio,

    Can you point to the referenced section of SLUAA42?

    bqStudio may generate the wrong image if the hardware/firmware combination is not an expected one. The "New hardware to fix an uninitialized pointer at boot-up" fix causes the programming pointers to move, therefore the firmware had to be ported. If there is a problem using bqStudio with the pre-programmed firmware, then bqStudio needs to be looked at. Can you provide details about the golden image generated from a pre-programmed device?

    Thanks,

  • Hello Shirish,

    I have already posted those information, in any case I try to repeat:

    1. the .srec generated from a BQ28Z610 with v0.20 ROM by bqStudio "Firmware" tab has all the content of the ROM and RAM: flashing a new BQ28Z610 with those .srec makes it exactly like the original one.
    2. the .bq.fs file generated from the same BQ28Z610 with v0.20 ROM by bqStudio "Golden File" tab misses the rows with the commands and data to write the configuration area of the ROM, the area where the version, build and checksum are stored.

    the evidence about point 2 is easy to verify:

    • the original new BQ28Z610 from reel has v0.17
    • the .bq.fs has been generated from v0.20
    after to have flashed the new BQ with the .bq.fs file, it runs but:
    • its ROM version remain in 0.17 Build 22
    • the RAM content is correct but it is lacking the data of the settings non included into v0.17 (of course it lacks!)
    • the Permanent Fail protection is set and the IFC flag is risen.

    the .srec read from the BQ flashed with .bq.fs compared with the "original" .srec (from which the .bq.fs was generated) shows:

    • the ROM areas are the same -> that means the ROM has been flashed from 0.17 to 0.20!!!!!
    • the RAM areas are the same
    • another areas at the end of the .srec files that I suppose is the configuration area, are NOT the same!

    You should have to try to replicate that, doing the following:

    • have a board with the BQ28Z610
    • run bqStudio 1.3.101.1
    • flash the BQ with the v0.20 FW
    • generate the .bq.fs file from that v0.20 by bqStudio, Golden File tab
    • flash the BQ with a different ROM, i.e. v0.17
    • parse the .bq.fs file generated to the BQ and watch the result.

    later, be back to me .... if you cannot do that, I will do for you and I post here all the files, but I need a few time to do: in case, ask me!

    Have a good day...

    Maurizio

      

  • Hello again Shirish,

    while I am astonished to do not have yet any replies, I have had prepared the package to show the issues I have found:

    1. the original file is the file "bq28z610_v0_20_build_25.srec", sent to a BQ28Z610
    2. once programmed, it has been produced the file "2610_0_20-bq28z610.bq.fs"
    3. then such bq.fs file has been sent to a new BQ28Z610 whose ROM version is 0.17
    4. once programmed, it has been exported the ROM image into the file "FlashedBy.bq.srec"

    All those files are in the attached compressed file "issue package.zip"

    Hope it will help to understand!

    Maurizio

    PS: I have downloaded and installed the new version 1.3.102.1 and it has the same issues..... the mother of the questions is then: do the TI engineers take into account what the customers feedback them?

    issue package.zip 

  • Hello Maurizio,

    I apologize for the delay in providing an update. I passed this information to the development team and it is being checked.

    I received feedback that there is some confusion in understanding for the the terms ROM and FW. Please help clarify.

    Thanks,

  • Hello Shirish, thanks for your support.

    I also apologize, I have just realized that the terms ROM and FW mean two different things: the former, ROM, is the physical location where the latter, FW, is stored.

    in such viewing of the things, I've really made some confusion, but because the BQ has EEROM included also the EERAM, I did not know how to detail better without to write a lot of words that, honestly, I've considered useless foe a team of experts like you are. Sorry, I was wrong. By the way, please have a look at my explanation points below:

    • The ROM version is a HW characteristic, all the BQ28Z610 I have here are with ROM HW version 0xA1, read by the command 0x0003.
    • With the word  "FW" I intend the whole set of data saved in EE ROM and RAM, mirroring of what is in the .srec file
    • with the word "ROM" I have intended only the content of the data related to the executive program, whose version is v0.17 or v0.20 or v1.01, etc.

    So, referring to my last post, whose attached files remain still valid, the text should be read as following: 

    1. the original FW is the file "bq28z610_v0_20_build_25.srec", sent to a BQ28Z610 by bqStudio, Firmware tab
    2. once programmed, it has been produced the file "2610_0_20-bq28z610.bq.fs" by bqStudio, Golden Image tab
    3. then such file "2610_0_20-bq28z610.bq.fs" has been sent to a new BQ28Z610 whose FW version is 0.17 by a parser compliant to the SLUA801
    4. finally, it has been exported the whole ROM image of the BQ28Z610 just flashed into the file "FlashedBy.bq.srec" by bqStudio, Firmware tab

    Now, the files "bq28z610_v0_20_build_25.srec" and "FlashedBy.bq.srec" should be have the same content but they don't!

    I suppose now you should have the necessary skills and knowledge to understand what I have been claiming since the beginning....

    Please give me a feedback, hopefully together the fixed version of "2610_0_20-bq28z610.bqz"

    Thanks

    Maurizio 

    PS: China is having 8 days holiday, you'll forgive me if my further replies could be delayed. 

  • Hello Maurizio,
    Thank you for clarifying. I will pass this information to the team.
    Regards,

  • Hello Maurizio,

    Here is an update:
    ----
    The team confirmed your observation and determined that the Golden image feature is not compatible with bq28z610 v0.20. The golden image feature only works with bq28z610-R1. There was confusion on whether bq28z610 v0.20 was compatible with bq28z610 or bq28z610-R1 hardware and therefore it took a long time.

    To remedy this issue in bqStudio, the next release of bqStudio will have an updated bqz file that removes the Golden image plugin from bq28z610 v0.20

    The recommendation is to use bq28z610-R1 hardware and firmware which supports the Golden image feature.

    ---

    If this is consistent with your observation and expectation, then please mark this thread as "resolved". If not, then please let me know how i can help you further.

    Thanks,

  • Thanks Shirish,

    I cannot say I am satisfied by the reply, I am glad that the Team has recognized a misbehavior, eventually and after 1 month and several posts... but I am really bad and astonished with the suggested solutions: the Team of one of the most prestigious and serious companies has chosen what's easy rather than what's right! The problem is not in the compatibility of the 0.20 with Golden File, I don't buy it, the problem is in the .bqz file of the v0.20 or in how the bqStudio process it.

    The evidence? easy to demonstrate. I am  an engineer. old school, I am not satisfied until all questions have a reply.

    • I have taken the 2610_1_01_bq28z610-r1.bqz and I renamed it 2610_0_20_bq28z610.bqz
    • then I have taken a board with the BQ28Z610 whose FW is 0.20 and opened bqStudio
    • bqStudio recognized the 2610_0_20 and opened that modified .bqz; I was able to generate the golden file as usual
    • I generated so the file My_new.bq.fs mirroring the content of the ROM, which has the FW 0.20
    • then, like I've done before, I got a new board with BQ28Z610, it had the original v0.17 FW
    • at this point I sent the file My_new.bq.fs by the parser 
    • reconnecting the board with the flashed BQ28Z610 to bqStudio, it recognizes the correct FW 0.20 and the board works as expected.

    The only wrong things is that the memory shows the additional settings of the R1 version, but only because the 2610_1_01_bq28z610-r1.bqz has an improved map against the 2610_0_20 ....

    Then, it is evident that is the .bqz file of the v.020 which doesn't have the necessary template for the correct Golden file; to be noticed that only the .bq.fs is not good, the other 2 files .gm.fs and .df.fs are OK.


    I do not have the knowledge to modify that .bqz file, otherwise I was happy to help you, because I help myself at the same time.

    There are other mistakes with BQ28Z610 and its web page, I have already told to another guy of TI who passed the info at the Team. Let me then to tell one consideration, if TI wants to pass at -R1 version, better to be clear about it instead to make the life of engineers who are using this gauge IC more complicated and more....

    The very right things to do is then to publish the FW v0.28 and its .bqz, warning that it is the last release without further maintenance because it's gonna be end-of-life and the new -R1 has to be used like direct replacement. By my opinion, any different solutions are a way to go off-hook without taking care of your customers.

    About -R1, I have seen that recently its price is a little cheaper than the non-R1, the evidence about what I have just proposed.

    I will wait for your reply before to close this post.

    Thanks for your cooperation and to have trusted me!

    Cordially

    Maurizio

  • Hello Maurizio,

    I understand how you concluded that this can be solved with a bqz change. It is a perfectly valid statement from your perspective.

    TI recommends the bq28z610-R1 over the bq28z610 because the bq28z610 has limitations that have been solved in bq28z610-R1.

    Reliability is important to TI. The team if of the opinion that a bqz change may not work 100% of the time in all corner cases. This statement applies to the approach that the golden image plugin uses.

    Regards,

  • Hello Shirish,

    sorry for late reply but I was on holiday for a few days....

    However, I gotta buy what you say, I understand that TI doesn't want to invest one cent more on something's gonna be stopped (even if the end-of-life has not yet announced).

    Then, my own solutions will continue to use that tricked .bqz while I am testing the FW 1.01 also in the non-R1 version of the BQ28Z610, in a way to have, later, a unique version when I will have boards with one or the other mixed together.....

    Yes, opposite to the suggestion of the E2E forum but according to the change notice SLAUU42, I've flashed some BQ28Z610 with a FW based on v1.01: currently, they all are working as expected.

    Aside the acknowledgements for the help I've received during this discussion, I have to notice the bad behavior of TI, unfortunately.

    bye bye

    Maurizio

    PS I cannot close this post because by my opinion the issue I have risen has not yet solved, unfortunately.

  • Hello Maurizio,

    You are welcome.TI pays close attention to customer impact for end of life announcements. It usually only happens after customers migrate to the newer products..

    Thank you!