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.

[参考译文] BQ34Z100EVM:写入黄金映像

Guru**** 2507255 points
Other Parts Discussed in Thread: BQ34Z100-R2, BQSTUDIO, EV2400

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1552626/bq34z100evm-writing-golden-image

器件型号:BQ34Z100EVM
主题中讨论的其他器件:BQSTUDIO、BQ34Z100-R2 EV2400

工具/软件:

我一直在尝试编写软件来写入黄金映像。 我从与测量仪表文档的通信中复制了 c 库、并为 i2c 通信编写了相应的函数。 我可以读取和写入值、但实际闪存始终会在解封后很快失败。  

为了进行健全性检查、我们得到了一个全新的 R2 芯片、然后将其转储为黄金映像、并尝试将其从 bqstudio 刷写到同一芯片中。 此操作失败。 它说没有设备确认。 什么是我的缺失? 必须还有其他一些我看不到的步骤。 是否有文档对此进行了详细说明? 我使用的是 bqstudio 1.3.124 Build 3 2024年11月11日。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    此问题已分配、并将在可能的情况下进行审核。 在此期间、请附上与此项目关联的.gg 和/或.log 文件。

    谢谢您、
    Alan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您正在尝试刷写 bq.fs 或.srec 文件吗?

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试了两个,并得到了相同的结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    srec 会加密、因此不会在常规 MCU 上刷写。 您应该刷写 bq.fs。

    如果您收到器件未发出的确认、则这是 NAK。

    该文档应有助于 测量通信量

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经阅读过该指南很多次、并且在末尾使用库中的代码。 请帮助我了解为什么我无法首先从 bqstudio 将黄金映像刷写到芯片中、然后我们可以从 MCU 上刷写到芯片中。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我的错、我没有意识到您无法使用 BQstudio 进行刷写。

    您打开 BQstudio 时、器件是否会自动检测?

    您能否共享您尝试刷写的文件?

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、它会执行自动检测。 我没有该文件、在星期二之前就不在办公室、但我所做的只是使用全新的 bq34z100-R2、将其插入 ev2400、启动 bqstudio、自动检测到它、我立即转储黄金映像文件、然后尝试同时刷写这两个文件、都不起作用。 他们都以同样的方式失败了,没有确认。 如果有帮助、我将星期二上传文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marco、

    Diego 目前不在办公室、将在一周内回来跟进此消息。

    谢谢您、
    Alan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    听起来不错、请在可能的情况下共享文件。

    另一个要检查的是您的电压读数、它高于闪存更新正常电压。

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以下是文件:

    e2e.ti.com/.../1602.test.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我在刷写您提供的文件时没有问题。

    您是否检查了 BQstudio 中报告的电压是否高于闪存更新正常电压?

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的。 该电压被设置为 2800mV、报告的电压为 13316。 我将其降至 1000mV、但仍然不会闪烁。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这就是我尝试从 bqstudio 中编写代码时得到的结果。  

    为了进行比较、以下是一个 设置相同且成功执行的 FW_VERSION 命令:

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    至于自己刷写、我在 Raspberry PI 上运行 c 库。 结果如下:

    BQ34Z100 Gauge Programmer for Raspberry Pi
    ==========================================
    I2C address set to 0x55 (7-bit)
    I2C initialized successfully on /dev/i2c-1
    Testing I2C communication...
    Device communication test successful - FW Version: 0x0201
    
    === Flashing Golden Image ===
    Loaded golden image file '0100_2_01-bq34z100_BRAND_NEW_TEST.bq.fs' (180458 bytes)
    Executing FlashStream commands...
    I2C address set to 0x0B (7-bit)
    Error: Failed to write 2 bytes to register 0x64 (wrote -2): Remote I/O error
    Error: Golden image flashing failed at position 730
    Error context: '
    W:160002010000014F033F110CD9FF30E0FF352F100CE0FF3'
    Golden image flashing failed
    I2C cleaned up

    这意味着我将此内容放入映像文件中:

    ;--------------------------------------------------------
    ;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 FA FA 33 B5 FB 33 95 FE 33 AD 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 01 02 3F 58 CB 33 C3 A0 08 19 00 00 00 00 00 FF AA 0E FB A7 0E FF A6 0E FF A1 0E FF A0 0E FE A3 0E 53 A2 0E DE FF 3A 67 FF 3A E2 FF 33 FF AF 0E
    W: 16 64 35 38
    X: 2
    C: 16 66 00
    W: 16 00 02 01 00 00 01 4F 03 3F 11 0C D9 FF 30 E0 FF 35 2F 10 0C E0 FF 35 FF FF 23 E3 AF 04 E2 BF 04 D1 FF 36 E2 A0 04 E3 A1 04 00 C7 02 01 C6 02 E5 AF 04 E3 BF 01 E4 AF 04 E2 BF 01 FF AC 0E E1 1C 04 8A FF 31 E2 A0 04 E3 A1 04 02 AB 18 7F 2B 0E FF 1B 0E BF FF 32 FC FA 0E FB AF 0C 02 2B 18 FF 1B 0E 98 FF 36

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    在 BQstudio 上刷写固件时、是否出现错误消息?

    您使用的是哪个版本的 BQstudio? 我建议使用 BQstudio 的最新测试版本。

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正如我在第一篇文章中所说的、错误是器件没有确认、而我在  1.3.124 Build 3 2024年11月11日 上运行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    通常意味着器件未正确上电。  

    TS 引脚在上电时是否产生脉冲?

    请升级到 BQstudio 的最新测试版本。

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当前、当施加电池电源时、它会变为高电平至 2.5V 并保持该状态。 这是在刷写失败后发生的、我认为它仍然处于 Bootrom 模式。 我不确定该怎么做、或者如何使其退出 Bootrom 模式。 此时、自动检测到的器件为 0001_0_02。 当 EVM 进入这种状态时、我只是一直在更换芯片、假设我做了错误的事情、不值得尝试强制它恢复到正常状态。

    我下载了新版本、现在似乎没有给出“不确认“错误、而是无限期地将 SCL 拉低、并且器件会与 bqstudio 断开连接。 我想我将再次更换芯片并尝试从 bqstudio 中写入它。  

    只是为了确定,没有其他流程我需要做,对吗? 我只需将一个 全新的芯片粘贴到上、然后打开 bqstudio、进入“Programming"选项“选项卡、选择我的文件并点击“Execute"。“。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    可能您的器件处于 ROM 模式。

    (+) BQ34Z100-G1:如何退出 ROM 模式 — 电源管理论坛-电源管理 — TI E2E 支持论坛

    是的、正确。

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 ROM 模式内外都尝试过它。 此外、我实际上能够在 ROM 模式下从 esp32 刷写它。 不过、能够在 bqstudio 上执行此操作会非常有用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    太好了、我们找到了刷写器件的方法。  

    您是否有机会升级到 BQstudio 的最新测试版本?

    此致、

    Diego

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、当您提出问题时、我升级了。  

    我很确定我知道它失败的原因、也是我的代码失败的原因。 这是因为映像文件尝试将校验和写入一条命令而不是两条命令。 每次数据块写入后都有一个由两部分组成的校验和、旨在进入寄存器 0x64 和 0x65。 写入命令类似于:

    W: 16 64 35 38

    因此、它会写入 Bootrom、起始地址为 0x64、并假设 00 将写入 0x65。 但是、这不是 bq34z100-R2 所需要的。 它需要两个单独的命令:

    W: 16 64 35

    W: 16 65 38