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.

[参考译文] LAUNCHXL-CC1352P:调试通过 NCP 联网的 Thread CLI 应用

Guru**** 2582405 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/842831/launchxl-cc1352p-debugging-thread-cli-application-networked-with-an-ncp

器件型号:LAUNCHXL-CC1352P

尊敬的 TI 支持:

我拥有由 CLI_FTD 和 NCP_FTD 示例应用程序组成的简单网络。 CLI_FTD 是网络中的子路由器、NCP_FTD 既是引线、也是调试器。 我使用 Raspberry PI 作为主机、并进行所有必要配置、以允许 Internet 绑定的 IPv6流量、并在适当时应用 NAT。

我正在尝试从 CLI_FTP ping 公用主机,但 ping 命令会无提示地失败。 您能不能建议我如何启用调试、以便调试这个问题? ping 命令如下所示:

Ping 2001:db8:1:FFFF:808:808 

我尝试按如下方式更新日志记录相关配置:

#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT
//#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPLOG_PLAND_define
#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENDIF_UART
#ENDIF 

但控制台中没有打印任何内容。 我还设置了数据包监听、但与 ping 命令无关。

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

    您好!

    尝试将 OPENTHREAD_CONFIG_ENABLE_DEBUG_UART 定义为非零。

    此致、
    Toby

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

    感谢您返回 Toby、

    我采纳了您的反馈、并修改了 openthread-config-cc1352-ccs-ftd.h、如下所示:

    #define ENABLE_All_logs_TO_UART 1
    #if ENABLE_All_logs_TO_UART
    
    #define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT DEBUG_UART
    
    #define OPENTHREAD_CONFIG_ENABLE_DEBUG_UART 1
    
    #define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG
    ...
    (笑声) 

    我仍然没有在 CLI 中看到任何日志记录。 我还找到了这个页面-  但是这里似乎没有任何指示。 我是否会错过某些内容?

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

    在 UART 模式下,PlatformLog()的调用层次结构解析为 debug_UART.c 中的函数,即:
    PlatformDebugUart_vprintf
    PlatformDebugUart_printf

    从而导致:
    PlatformDebugUart_putchar_raw

    这是一个空实现:

    /*为不执行所有函数的平台提供弱残桩*/
    OT_TOOL_weak
    平台调试 Uart_putchar_raw (int c)
    {
    OT_unused_variable (c);
    } 

    我应该覆盖 PlatformDebugUart_putchar_raw 吗? 或者,我是否需要一个能够将具体执行纳入范围的包?

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

    这是一个经过弱声明的函数、因此如果有其他版本的函数、则将改用它。

    在这种情况下、它应该位于 CLI_FTD*/platform/debug_uart.c 中的 otPlatformDebugUart_putchar_raw