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.

[参考译文] CC2642R:复位时固件写入失败

Guru**** 2933630 points

Other Parts Discussed in Thread: CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1648770/cc2642r-fw-write-fails-on-reset

器件型号: CC2642R

您好的团队、  

在 CC2642R 上写入 FW 会失败、具体取决于复位后的时序。 后门被打开、CC2642R 被复位。 然后、在 RESET 引脚置为无效后写入固件。 我想知道以下几点

  1. RESET 引脚置为无效的最低阈值电压是多少?
  2. RESET 引脚是否可以被置为有效的最长时间?  例如、是否可以将其置为有效几秒钟?
  3. 是否有办法监控 CC2642R 在复位后是否正确唤醒?
  4. 固件写入在复位 10,000us 后正常运行。 但是、复位后 100,000us 完成相同的固件写入不起作用。 固件写入和/或复位是否有超时? 数据表仅规定 RESET 至 ACTIVE 最多只需 4000us。

此致、

Yu

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

    你好、Yu!

    1.我找不到这个问题的答案。 我认为、理想的解决方案是将电压设置为 3.3V 或 0V、不应将引脚悬空或使用中间值。

    2.可根据需要将 RESET 引脚置为有效。

    3.为此,您只需在固件中将引脚设置为高电平即可,这表明固件正在正确运行。 这样、您还可以运行要在固件上运行的任何运行状况检查。

    4. swra466e 应用程序 没有提到上电复位与引导加载程序处于活动状态并准备好接收通信之间至少有 10ms 的延迟。 但是、似乎未指定超时。 我建议您使用逻辑分析仪来查看 100ms 后发送固件时的通信是否符合预期。 例如、设备在您的命令后是否正确地回复 ACK (0xCC)? 它到底是进入引导加载程序还是运行您的固件? 还可以 在命令之间发送 CMD_GET_STATUS 命令、以确保器件未拒绝命令。

    此外、您能否向我提供有关您的设置的更多信息? 您使用的是定制板吗? 您使用的是哪个 SDK 版本? 哪个器件发送引导加载程序命令?

    此致、
    Lea

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

    尊敬的 Lea-San:

    我最初问了佐藤圣这些问题。

    设置为 1。 2、我理解。  

    关于第 3 个问题、我认为您的方法在编写固件后可用。 但是、我想在编写固件之前了解方法。  

    因为写入固件失败。

    关于 4、我将首先尝试使用示波器检查波形(我没有逻辑分析仪)。

    此致、

    山口

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

    您好!

    关于检测芯片是否已正确唤醒、您可以尝试在芯片运行时将调试器连接到芯片。 如果能够连接和读取寄存器、则表明芯片处于唤醒状态。 读取 PC 地址还将使您能够查看您是在 ROM 还是闪存中。

    此致、
    Lea

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

    尊敬的 Lea-San:

    我没有调试器。 我会考虑购买它。

    顺便说一下、我在固件更新时测量了 UART 波形。

    我电路板上的 CC2642R 通过 UART 连接到 CPU(使用了电平转换器)。

    固件更新命令通过 CPU 输入。  

    实际上、有 2 种类型的电路板。 一个成功地 顺利写入了固件(第一次采样)。

    另一个 固件未能首先写入 FW、但成功地第二次写入 FW(第二次采样)

    当输入了固件更新命令时、在第一次采样时、CPU 有时会收到 CC2642R 响应(CPU Rx =蓝色波形)。

    但是 CPU 在第二个样本中没有收到 CC2642R 响应。  

    硬件设计相同。 所以,我不知道为什么结果是不同的。

    有什么可以想到的吗? 

    此致、

    山口

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

    您好!

    为了澄清一下、当您说没有调试器时、您是说将固件刷入芯片的唯一方法是通过引导加载程序后门吗?

    您在第二个图像中发送的命令输入似乎比第一个图像中的命令输入大得多、尤其是考虑到时间刻度。 您能否放大并查看您在两种情况下在 CPU Rx 线路上发送的是什么? 因为发送的数据可能是无效的。

    我还在第二个图像中的 CPU Tx 行上看到峰值、这些测量错误是吗? 芯片似乎会回复您的命令输入。 它可能会使用有用的错误代码进行回复、因此放大命令输入部分会很有用。

    此致、
    Lea

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

    尊敬的 Lea-San:

    >>只是为了澄清、当您说您没有调试器时、您的意思是、将固件刷入芯片的唯一方法是通过>>引导加载程序后门吗?

    ->是的。

    >>在两种情况下、您能否放大并查看您在 CPU Rx 线路上发送的内容? 因为发送的数据可能是无效的。

    ->我重新测量的波形。 请参阅随附的文件: uart_xlsx.xlsx Waveform_Zoom_In

    >>在第二幅图像中、我还看到 CPU Tx 行上的峰值、这些测量错误是吗?  

    ->不对 请查看附件中的放大图。 我想 CPU 尝试连接到 CC2642R。

    e2e.ti.com/.../UART_5F00_Waveform_5F00_Zoom_5F00_In.xlsx

    此致、

    山口

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

    您好!

    您发送的 UART 波形有助于理解问题。

    当您提到第二次固件写入工作时、是否在第一次和第二次固件写入之间重置电路板?

    一种可能是、如果在 TCK 引脚上检测到活动、则会进入 Halt-In-Boot 状态。  您能否确保此针脚没有收到任何活动? 能否尝试将该引脚与电源电压短接以确保其始终处于高电平?

    退出 Halt-In-Boot 状态的唯一方法是复位电路板、或 将外部仿真器连接到器件并首先停止、然后通过 DAP 恢复 CPU、因为您显然没有调试器、所以无法执行此操作。 短接引脚将禁用引导中停止、并且可以确保不会出现这种问题。

    此致、
    Lea

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

    尊敬的 Lea-San:

    >>是否在第一次固件写入和第二次固件写入之间重置电路板?
    ->是的。 在首次固件写入之前、我重置 CC2642R。
    如果第一次固件写入失败、我会再次复位 CC2642R。 然后、我尝试编写固件。

    >>您能否确保此 PIN 不接收任何活动? 能否尝试将该引脚与电源电压短接以确保其始终处于高电平?
    ->感谢您的建议。 我会尝试测量。

    顺便说一下、我在更新固件时得到了逻辑分析仪结果。

    我不知道这是否有帮助,但我会附上结果: UART_logical_report.xlsx

    e2e.ti.com/.../UART_5F00_logical_5F00_report.xlsx

    此致、
    山口

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

    尊敬的 Lea-San:

    固件更新时 I 测得的 TCK 波形。
    我测量了两个案例。 一个是 TCK 未对电源电压短路(默认)、
    另一个原因是 TCK 对电源电压短路。
    在前一种情况下、当 CC2642R 的 RESET 引脚更改为低电平时(第 1 个和第 2 个样本都是)、TCK 更改为低电平。
    在后一种情况下、即使 CC2642 被复位(第 1 个和第 2 个样本都被复位)、TCK 始终为高电平。
    但是、在前一种和后一种情况下、对第二个样本的第一次固件写入都失败。
    我将附上我的测量结果:UART_Waveform_with_TCK.xlsx
    请查看。

    此致、

    山口
    e2e.ti.com/.../UART_5F00_Waveform_5F00_with_5F00_TCK.xlsx

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

    尊敬的 Lea-San:

    您是否从我的测量结果中找到了任何信息?

    此致、

    山口

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

    您好!

    很抱歉晚才回复。 我注意到、这两个样本之间的区别是、在第二个样本中、在 RESET 引脚变为高电平后约 50ms 发送固件更新命令、而在第一个样本中、大约等待 250ms。 您是否尝试过为第二个样本等待更长的时间(如 250 毫秒)?

    令我惊讶的是、问题总是发生在一个芯片上、而不是发生在另一个芯片上。 第 1 个和第 2 个样本到底是什么意思? 您订购这些芯片是两次不同的吗? 芯片上的修订或铭文/文本是否相同?

    此致、
    Lea

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

    尊敬的 Lea-San:

    基本上、我在固件写入命令之前使用了“usleep 10000“命令(等待 10ms)。
    我将命令从 10000 更改为 250000(等待 250ms)、但第二个采样行为未更改。
    我附上结果:uart_powarame_250ms_wait_before_fw_xlsx.x Writing_Command

    >>第 1 和第 2 个样本到底是什么意思?  

    ->第一个样本是 EVT 样本、第二个样本是 DVT 样本。

      但 CC2642 电路相同(为了供货情况,只更改了电平转换器的电阻器和 MOSFET)

     >>您订购这些芯片的次数是 2 次吗? 芯片上的修订或铭文/文本是否相同?

    ->是的。 每个样片上的 CC2642R 订购时间不同。 芯片上的说明不同。

       每个芯片上的说明显示在随附的文件中。

    此致、

    山口

    e2e.ti.com/.../UART_5F00_Waveform_5F00_250ms_5F00_Wait_5F00_before_5F00_FW_5F00_Writing_5F00_Command.xlsx

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

    您好!

    您能把 CC2642R 芯片从 EVT 样品板和 DVT 样品板交换吗?

    如果 DVT 样片上仍然出现问题、而在交换后 EVT 电路板上仍然没有出现问题、则问题可能出在您的电路板版本中、我们需要查看两块电路板的文件、以检查是否存在可能导致问题的差异。

    此致、
    Lea

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

    尊敬的 Lea-San:

    我将尝试将 EVT 上的 CC2642R 交换到 DVT 上。


    顺便说一下、当我复位 CC2642R 时、CPU 的 Rx (=CC2642R 的 Tx) UART 波形在 EVT 和 DVT 之间有所不同。
    在 EVT 电路板上、当 CC2642R 的复位引脚从高电平变为低电平、以及从低电平变为高电平时、CPU 的 Rx 保持高电平。
    但是在 DVT 板上、当 CC2642R 的复位引脚从高电平变为低电平时、CPU 的 Rx 从高电平变为低电平、
    尽管 CC2642R 的复位引脚从低电平更改为高电平、但 CPU 的 Rx 仍保持低电平。
    我将附上测量结果。
    请参阅随附的文件:UART_Waveform_when_Reset.xlsx

    您是否知道哪个 CPU 的 Rx (=CC2642R 的 Tx) 行为正确、EVT 或 DVT?
    附件中显示了简单方框图。

    此致、
    山口
    e2e.ti.com/.../UART_5F00_Waveform_5F00_when_5F00_Reset.xlsx

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

    您好!

    通过查看它、我不确定哪一个是正确的。 我的直觉是说 EVT 电路板是正确的、但只是为了确保我将在我这边的 CC2642R 上运行固件更新、并在 UART 线路上使用逻辑分析仪告诉您它应该是什么样子。

    让我更新芯片交换:)

    此致、
    Lea

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

    尊敬的 Lea-San:

    尽管我交换了 EVT 和 DVT 上的 CC2642R、但 EVT 和 DVT 的行为没有改变。

    我将在我这边的 CC2642R 上运行固件更新、并在 UART 线路上使用逻辑分析仪告诉您它应该是什么样子。

    ->谢谢。 我将等待您的更新。

     

    此致、

    山口

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

    尊敬的 Lea-San:

    我得到了新的信息。

    当我们交换了 EVT 和 DVT 上 Rx Tx/UART 的电平转换器 IC (SN74AVC2T245RSWR) 时、  

    EVT 和 DVT 的行为也交换了。

    此致、

    山口

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

    您好!

    您是否对 DVT 和 EVT 之间的电平转换器 IC 进行了任何更改? 我认为这是问题的根本原因、我们应该找出导致问题的 DVT 和 EVT 之间的差异。 您是否有机会与我们分享 DVT 和 EVT 的原理图、以便我们尝试解释为何此电平转换器 IC 会改变固件更新的行为?

    这是一个公共论坛、因此我不建议您在此处发送文件。 您可以在 E2E 上将我添加为朋友、方法是点击我的个人资料、然后向我发送一条私人消息。

    此致、
    Lea

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

    尊敬的 Lea-San:

    >>您是否对 DVT 和 EVT 之间的电平转换器 IC 进行了任何更改?  

    ->不对 原理图和电平转换器 IC ((SN74AVC2T245RSWR) 是相同的。

      我比较了 EVT 和 DVT 上电平转换器 IC 上的器件标识。

      evt:TQO

      DVT: TQV  

      标识不同、但两个标识都显示在电平转换器 IC 的数据表中。

    >>您可以在 E2E 上添加我为朋友、方法是单击我的个人资料、然后向我发送私人消息。

    ->我向您发送了私人邮件。 请检查。

    此致、

    山口

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

    将其发送到电子邮件、因为我们现在正在共享不应面向公众的信息