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.

[参考译文] CC2652P7:RF-BM-2652P4 CC2652P7 - Thread 固件

Guru**** 2375380 points
Other Parts Discussed in Thread: CC2652P7, SYSCONFIG, CC1352P7, CC2652R7
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1533921/cc2652p7-rf-bm-2652p4-cc2652p7---thread-firmware

器件型号:CC2652P7
主题中讨论的其他器件: SysConfigCC1352P7、CC2652R7

工具/软件:

您好:

我尝试为 RF-BM-2652P4 CC2652P7 构建和使用 ot-ti (github.com/.../ot-ti) 固件。
我克隆存储库、安装工具链并构建固件、 运行良好。 但不知何故,它不能与家庭助手 开放线程边界路由器插件工作.
日志始终显示:

54D.18:03:39.963 [W] P-SpinelDrive-:等待响应超时
54D.18:03:41.965 [W] P-SpinelDrive-:等待响应超时
54D.18:03:43.968 [W] P-SpinelDrive-:等待响应超时

所以我想也许我有相同的 TX/Rx 引脚。 因此、我在 SysConfig 中打开了工程(我按照文档操作并使用了@cliArgs 行)、并在软件中的 uart2 页面上的 PinMux 面板中的 TX/Rx 引脚进行了编辑。
但我仍然无法正常工作。

什么是默认 PIN 和 BAUD?
我需要 DIO12 上的 TX 和 DIO13 上的 RX。

我使用 FOCA FT232 USB 连接到 CC 并通过 PI 上的 USB 连接。

有没有人知道有什么错误或我如何检查/调试?
我还尝试通过终端连接到 CC、因为文档/自述文件中说有一些命令、但这些命令都不起作用。

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

    您好 codmdu、

    对于 CC2652P7 目标、您应使用 LP_CC1352P7_4 构建参数 (即二进制兼容结果)。  请记住、MCU TX <-->主机 RX、反之亦然。  因此、默认的 UART 引脚是用于 MCU RX 的 DIO12、用于 MCU TX 的 DIO12(默认波特率为 115200)。  如果您确实需要翻转这些引脚、请按照 SysConfig 说明 正确打开 SysConofig 文件并对 UART 模块进行更改。

    我熟悉如何 将 ot-br-POSIX 用作 SimpleLink MCU HCP 的主机 (Linux 机器、RPi 或 BBB)。  SimpleLink Academy 实验 用于设置 RCP 主机环境、 可以更改/etc/default/otbr-agent 文件以适应不同的波特率或 USB 端口名称。

    此致、
    Ryan

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

    感谢您的信息,我们也发现它在同时,因为 koenkk 叉 (https://github.com/Koenkk/OpenThread-TexasInstruments-firmware/blob/main/docs/adapters.md)。
    为什么会这样呢? 为什么  CC2652P7 需要 LP_CC1352P7_4 而不是 LP_CC2652R7?
    我很想理解这一点。

    但我们仍然有一个问题、我们尝试使用 https://github.com/xyzroe/XZG 前端刷写该固件、但失败了、因为所用的 esp 在设备上没有足够的空间。 这是因为构建线程固件的大小为 2,7MB。
    因此、在使用 (https://github.com/algodesigner/hex2bin) 将.hex 转换为.bin 后、我们尝试了 koenkk 的固件、该固件的大小为~600KB。
    (我们也尝试直接刷写.hex,但我们使其无法正常工作)
    我们能够使用.bin 通过 XZG 前端刷新它、但前端显示没有固件版本。

    如果我们使用原始编译的 2、7MB 固件并使用 j-link (JTAG) 将其直接刷写到 CC、我们将获得相同的结果=>不显示固件版本。
    我们也不明白为什么编译的版本有 2,7MB 但 koenkk 的固件有 227kB/600KB。
    我们还找到了其他低于 400KB 的固件、例如 UZG、tube_gateways、smlight 等

    编译后的固件也具有.out 扩展名。
    一些找到的固件使用.hex 和一些.bin、什么是正确的?
    将固件刷写到 CC 的建议方法是什么?

    注意
    codmdu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为什么  CC2652P7 需要使用 LP_CC1352P7_4 而不是 LP_CC2652R7?

    尽管 CC2652R7 和 CC2652P7 之间的数字更接近、但 CC2652P7 与 CC1352P7 引脚和二进制兼容。  这是由于高 PA 和正常 2.4GHz 路径都有额外的无线电输出。

    编译的固件还具有.out 扩展名。
    一些找到的固件使用.hex 和一些.bin、什么是正确的?
    将固件刷写到 CC 的建议方法是什么?

    OUT 可执行文件包含使用 Code Composer Studio 调试工程所需的符号。  由于这对于固件加载不是必需的、因此可以使用工具生成输出十六进制和二进制文件。  二进制文件将更大 、因为它不允许出现空洞并且 CCFG 位于闪存存储器的末尾。  以下是 CCS 工程中用于生成十六进制映像的编译后步骤:

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy ${BuildArtifactFileName} --output-target ihex ${BuildArtifactFileBaseName}.hex

    和类似的二进制文件生成选项:

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy ${BuildArtifactFileName} --output-target binary  ${BuildArtifactFileBaseName}.bin

    以下是  TI Arm Clang 编译器工具用户指南中的 tiarmobjcopy 工具的说明。  使用正确的参数时、您应该能够在 CCS 外部通过命令提示符使用该工具。

    我们能够使用.bin 通过 XZG 前端刷新它、但前端显示没有固件版本。

    如果我们使用原始编译的 2、7MB 固件并使用 j-link (JTAG) 将其直接刷写到 CC、我们将获得相同的结果=>不显示固件版本。

    我不确定 XZG 前端的“无固件版本“意味着什么、因为这取决于它期望从 CC2652P7 RCP 接收到的任何响应。

    此致、
    Ryan