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.

[参考译文] LP-CC2652RB:如何在不使用 UART 的情况下进行记录?

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1249321/lp-cc2652rb-how-to-log-without-using-uart

器件型号:LP-CC2652RB
主题中讨论的其他器件:CC2652RBCC2340R5SysConfig

我需要将 CC2652RB 上的两个 UART 端口同时用于外设、因此我希望避免使用其中一个端口进行日志记录、ProjectZero 示例项目目前正是如此。 我曾尝试搜索此方面的指令、但它们似乎都已过时、因为 ProjectZero 示例项目没有.cfg 文件。 有什么建议吗?

谢谢!

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

    您好 Qinchen:  

    您使用的是什么 SDK 版本和 CCS 版本? 有一个日志记录功能可供使用。 我将 在此处提供指向 E2E 文章的链接、其中包含有关实施的信息。 该实施指南适用于新的 CC2340R5器件、但实施是相同的、除了适用于  添加文件搜索路径。  此外、我将 在此处链接 API

    谢谢。  

    艾萨克

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

    尊敬的 Isaac:

    感谢您的及时回复! SDK 版本是6.40.0.13、而 CCS 版本为  12.3.0.00005.看起来文章中提到的日志记录模块使用 Log_printf(),而不是当前 Log_debug、Log_info 或 Log_error。 这是否意味着我需要手动更换所有组件?

    谢谢。

    沁辰

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

    您好 Qinchen:  

    Log_debug、Log_info、Log_error、Log_warning 和 Log_verbose、 对数级别。 可以通过 SysConfig 自定义这些引脚、以便根据用例自定义输出。 Log_printf 是向日志输出消息或信息的 API。 例如、一个 Log_printf 被设置为 Log_debug。 当此消息输出到运行时对象查看器(ROV)时、该消息将显示它是调试日志级别的一部分。  

    您是否能够为应用程序设置日志驱动程序? 如果不让我知道什么问题,你就会遇到!  

    谢谢。  

    艾萨克

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

    尊敬的 Isaac:

    在将 Simplelink CC13xx CC26xx SDK 更新到7.10.0.98并将 SysConfig 更新到1.16.1后、我能够在 ROV 中设置日志模块和观察到的日志。 但是、我只能登录 Log_debug 级别、但如果我更改为任何其他级别、例如 Log_verbose 或 Log_info、则看不到任何日志。 这是预期结果吗?

    关于上述问题,我认为有一个误解。 ProjectZero 示例应用使用 UART 日志记录、因此使用 Log_error0、Log_info1和其他类似函数。 我想问的是、是否有一种迁移到使用 ROV 日志记录模块的简单方法、而无需用 Log_printf 手动替换所有这样的日志函数?

    谢谢!

    沁辰

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

    您好 Qinchen:  

    要查看任何其他日志级别、该日志级别下需要有 Log_printf。 需要在 SysConfig 中的日志模块下启用日志级别、才能在 ROV 上查看这些日志。

    至于另一个问题、你只能手动将它们更改为 Log_printf。 您可以使用搜索功能(Ctrl+f)将所有类似的 UART 日志函数更改为 ROV。 这种方法效率更高、但您需要更改所有日志以输出相同的内容、因此您仍需要完成此操作并手动更改要输出的消息/信息。 我希望这对您有所帮助。  

    谢谢。  

    艾萨克

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

    尊敬的 Isaac:

    我在 SysConfig 中启用了这些日志级别并以这些级别进行记录。 但 ROV 中没有显示任何内容。 不确定 SDK 和 SysConfig 版本的组合是否重要。

    谢谢。

    沁辰

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

    您好 Qinchen:  

    您能否给我发送一些有关 SysConfig 中的日志模块以及您在何处实现 Log_printf 的屏幕截图? 您当前的 SDK 和 SysConfig 版本应该不会有任何问题。  

    谢谢。  

    艾萨克  

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

    您好 Qinchen:

    另一个要检查的是您已经为日志模块配置了"全局参数"。  这些是"有点隐藏"在 SysConfig 页面的顶部,也需要配置:-

    [注:在 SDK 7.10中,最好单独启用级别,而不是使用"启用所有日志级别"(如上所示)]

    希望这对您有所帮助、

    ~罗杰

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

    好的、请在下面找到 SysConfig 中日志模块的屏幕截图。

    我像这样调用 Log_printf 函数、并且观察了 ROV 中的日志。

    Log_printf(LogModule0, Log_DEBUG, "Hello World!");

    但是、如果我将日志级别更改为 Log_debug 以外的任何内容、日志将不会显示在 ROV 中。

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

    我发现的另一个问题是 Log_printf 似乎不支持%x 格式的字符串。 这是不是将来支持的东西?

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

    尊敬的 Qinchen:

    你是否也检查了"全局变量"? -默认情况下,它们在页面顶部隐藏(折叠)。  您能否也发送这方面的屏幕截图?

    ~罗杰

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

    啊,这就是我所遗漏的东西! 在全局变量中启用所有日志级别后、我最终可以在其他级别进行日志记录。 谢谢!