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.

[参考译文] CC1352P7:如何使用 ot-ti 存储库构建 RCP 固件?

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1589334/cc1352p7-how-to-build-rcp-firmware-with-ot-ti-repository

器件型号: CC1352P7

您好、

我想使用 ot-ti 存储库 (https://github.com/TexasInstruments/ot-ti) 为 LP-CC1352P7-4 板构建 RCP 固件。 我的开发 PC 运行 Linux Mint。  

我运行了 bootstrap 脚本。 然后我运行构建脚本、并收到以下错误消息:

source/cmake/scripts/cmake-common/Configure.cmake:98(工程)处出错:
CMAKE_C_Compiler:

/opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc

不是现有编译器工具的完整路径。

通过将环境
变量“CC"或“或 CMake 缓存条目 CMAKE_C_COMPILER 设置为
编译器的完整路径、或将编译器名称设置为路径、告诉 CMake 在哪里可以找到编译器。
调用栈(最近一次调用优先):
CMakeLists.txt:13(包括)


source/cmake/scripts/cmake-common/Configure.cmake:98 (project):
CMAKE_ASM_Compiler:

/opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc

不是现有编译器工具的完整路径。

通过将环境
变量“asm"或“或 CMake 缓存条目 CMAKE_ASM_COMPILER 设置为
编译器的完整路径、或将编译器名称设置为路径、告诉 CMake 在哪里可以找到编译器。
调用栈(最近一次调用优先):
CMakeLists.txt:13(包含) 

我安装了 Arm GNU 工具链、并重新运行脚本。 我现在收到以下错误消息:

source/ti/drivers/CMakeLists.txt 中的 CMake 错误: 
 目标“tfm_dependences_cc26x4" interface_include_directories“ interface_include_directories 属性
 包含路径:

  “/home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/tfm_s/cc26x4/build_dependencies “

 它是源目录中的前缀。


source/ti/drivers/CMakeLists.txt 中的 CMake 错误:
 目标“tfm_dependences_cc26x4" interface_include_directories“ interface_include_directories 属性
 包含路径:

  “/home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source

 它是源目录中的前缀。


source/ti/drivers/CMakeLists.txt 中的 CMake 错误:
 目标“tfm_dependences_cc26x4" interface_include_directories“ interface_include_directories 属性
 包含路径:

  “/home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/third_party/tfm/interface/include “

 它是源目录中的前缀。

...

我可以做什么?

此致、
Pascal

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

    找到一个解决方法: git submodule 命令中添加了--recursive。

    但随后编译失败、并出现以下错误:

    [62/893]构建 C 对象 third_party/ti_simplelink_sdk/cc..ir/repo_cc13xx_cc26xx/source/ti/POSIX/freertos/clock.c.obj
    失败:third_party/ti_simplelink_sdk/cmakeFiles/cc13xx-cc26xx-sdk.dir/repo_cc13xx_cc26xx/source/ti/POSIX/freertos/clock.c.obj
    /usr/bin/arm-none-eabi-gcc -DDeviceFamily_CC13X2X7_CC26X2X7 -DNVOCMP_NVPAGES=3 -DNVOCMP_POSIX_mutex -I/home/dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc src /home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/freertos/clock.c
    在/home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/freertos/clock.c:38 所包含的文件中:
    /home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/gcc/time.h:49:10:致命错误:./include/time.h:没有此类文件或目录
    49 |#include <../include/time.h
    |^~~~~~~~~~~~~~~~~~~
    编译已终止。
    [63/893]构建 C 对象 third_party/ti_simplelink_sdk/cc..r/repo_cc13xx_cc26xx/source/ti/POSIX/freertos/memory.c.obj
    失败:third_party/ti_simplelink_sdk/cmakeFiles/cc13xx-cc26xx-sdk.dir/repo_cc13xx_cc26xx/source/ti/POSIX/freertos/memory.c.obj
    /usr/bin/arm-none-eabi-gcc -DDeviceFamily_CC13X2X7_CC26X2X7 -DNVOCMP_NVPAGES=3 -DNVOCMP_POSIX_mutex -I/home/dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc src /home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/freertos/memory.c
    在/home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/freertos/memory.c 所含文件中:62:
    /home/developer/Dev/ot-ti/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/posix/gcc/errno.h:46:10:致命错误:./include/errno.h:没有此类文件或目录
    46 |#include <。/include/errno.h
    |^~~~~~~~~~~~~~~~~~~~
    编译已终止。
    [64/893]构建 C 对象 third_party/ti_simplelink_sdk/c...c13xx_cc26xx/source/ti/POSIX/freertos/aeabi_portable.c.obj
    忍者:生成已停止:子命令失败。

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

    解决方法:我将缺少的头文件从工具链目录树复制到 ot-ti 目录树。 这是一件很重要的事情。 但它允许成功执行构建。

    然后、我使用 ot-rcp.out 文件刷写了 LaunchPad 电路板。 但 OpenThread 的 ot-daemon 不连接到板Slight frown

    获得正常运行的 RCP 固件的正确方法是什么?

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

    尊敬的 Pascal:

    构建 third_party/ti_simplelink_sdk/repo_cc13xx_cc26xxot-ti 资源是否存在这些问题?  如果是前者、则可能需要检查默认的 imports.mak 并确保它们有效。  您还应该注意、 在最近的 ot-ti 版本中、UART 波特率已增加到 921600、因此您需要相应地提高 ot-br-POSIX(或其他)主机波特率。  通常、我必须更改主机上的/etc/default/otbr-agent 以支持 SPINEL+HDLC+UART:///dev/ttyACM0?uart-baudrate=921600、假设 ttyACM0 是正确的 UART COM 端口。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的答复。 这些问题与 ot-OTI 有关。 我遵守了自述文件说明、但必须执行上面提到的纠正操作、才能获取 ot-rcp.out 二进制文件。

    我刚尝试将波特率设置为 921600、但 OpenThread 的 ot-daemon 仍然无法连接Slight frown

    此致、
    Pascal

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

    附件是基于默认 ot-ti 主线使用 LP-CC1352P7-4 构建时来自我环境的 ot-rcp 映像。  确保所有 XDS110 接头跳线都安装在 LaunchPad 上、最重要的是 UART RX 和 TX。

    e2e.ti.com/.../ot_2D00_rcp.out

    是否已确保在主机上重新启动所有相关服务以使 UART 波特率更改生效?  您可以参考以下其他一些资源获取更多线索。 您是否已确认 LP XDS110 正在 ttyACM0 上模拟、或者您是否也在 otbr-agent 中更改了此配置?  您能否提供任何详细的日志?

    Thread 边界路由器 SLA
    OT-br-POSIX 本机 Linux 构建指令

    此致、
    Ryan

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

    您好、Ryan、

    你的 ot-rcp 图像完美的工作,谢谢! 现在、问题是:如何创建同一个? Slight smile 我怀疑 bootstrap 脚本不理解我正在运行 Linux Mint 这一事实。 Ubuntu 是否是先决条件?

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

    不幸的是,我没有任何专业的薄荷,只有 Ubuntu。  SimpleLink F2 SDK 版本说明 意味着仅支持 Ubuntu。  您提供的任何错误看起来都不是很重要、您的解决方法看起来都有效。   

    解决方法:我将工具链目录树中缺少的头文件复制到 ot-ti 目录树

    这是最重要的部分、因为一旦建立环境、构建就应该在不进行任何修改的情况下成功完成。

    此致、
    Ryan

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

    谢谢、Ryan。 我将安装 Ubuntu 20.04 虚拟机、然后重试构建 ot-ti。 我会告诉您结果。

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

    我成功地使用 Ubuntu 20.04 生产了一个工作版本的 ot-rcp。

    我必须执行的操作:

    • 添加 Git
    • 添加最新版本的 CMake
    • git submodule update --init命令替换为 git submodule update --init --recursive 

    此致、
    Pascal