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.

[参考译文] F29H850TU:ROV - FreeRTOS 的静态调试变量

Guru**** 2614265 points
Other Parts Discussed in Thread: SYSCONFIG, F29H850TU

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1561448/f29h850tu-static-debug-variables-for-rov---freertos

器件型号:F29H850TU
主题中讨论的其他器件:SysConfig

工具/软件:

我目前正在尝试出于调试目的启用 ROV、但我遇到了一个问题、即应该在 CCS 的“Runtime RTOS Objects“视图中以人类可读格式显示的调试变量是私有的。

调试变量位于内核的 FreeRTOS 源中。

以下屏幕截图显示了这一点:  

这会阻止“freertos.ROV.js"脚“脚本访问变量并将它们显示在如下所示的视图中:

如何解决问题?

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

    尊敬的 Mahmoud:

    您是否无法使用现有 ROV 功能、或者您是否尝试将一些自定义字段添加到 JS 文件中进行调试? 现有的 ROV 应按原样工作。 您使用的是哪个版本的 CCS 和 F29H85x SDK?

    Arnav  

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

    尊敬的 Menon:

    我无法使用现有的 ROV、即使我已在“FreeRTOSConfig.h"文件“文件中完成所有必要的更改并从 TI SYSCFG 中启用了 ROV。 我只看到一个视图、即“任务模块“、它仅显示任务的数量和优先级的数量。  

    其他视图未显示。  

    我正在使用 CCS_20.2.0.00012 版本。 和 SDK 的 f29h85x-sdk_1_01_00_00。

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

    尊敬的 Mahmoud:

    这需要稍微更新兼容性。 请按照以下步骤操作。

    1) 在 SysConfig 中、排除生成的 SYSCFG_c.ROV.xs 生成

    2) 粘贴以下内容 SYSCFG_c.ROV.xs  工程目录中的任何位置(文件名应完全匹配)。

    e2e.ti.com/.../syscfg_5F00_c.rov.xs

    完成这些更改后、您应该会看到 ROV 反映了整个视图。 如果您遇到任何其他问题、请告诉我。

    此致、

    Arnav

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

    你好 Menon

    感谢您的提示! 我按照您的说明操作、并设法使任务视图正常工作:



    但是对于队列、信标和互斥体、我不断收到一条错误消息、表示 configQUEUE_REGISTRY_SIZE 设置为零、即使我在这里添加了一个编译时间检查其值是否为正值、并且代码编译:


    这里是否存在另一个潜在的兼容性问题?

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

    尊敬的 Mahmoud:

    是的、需要在 ROV 文件中进行兼容性更新(这与 SDK 中将 configUSE_MINI_LIST_ITEM 设置为 0 有关)。 您可以  使用以下内容替换 f29h85x-sdk/source/kernel/freertos/ROV/处的文件、看看您是否仍然遇到任何问题。 感谢您指出这一点、它将在下一个版本中修复

    e2e.ti.com/.../FreeRTOS.rov.js

    但是、我无法使用 configQUEUE_REGISTRY_SIZE 复制您的错误。 您能否进行上述更改、并尝试在某些任务中设置断点以查看 ROV 表中是否有任何更改?

    此致、

    Arnav

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

    您好、

    感谢您的帮助。 我尝试用您共享的 SDK 中的 freertos.ROV.js 替换掉、但遗憾的是、问题仍然存在。 然后我做了一些修改、以便 将与 configQUEUE_REGISTRY_SIZE 相关的异常显示为错误消息。 这是输出:

    这应该是 js 自身抛出的异常消息。 由于某种原因、它没有检测到 xQueueRegistry、即使我 正确地设置了 configQUEUE_REGISTRY_SIZE。

    在尝试  使用 SYSCFG 修改 configuse_mini_list_item 时、我注意到的另一个问题是以下错误:


    这是否意味着对于 C29s 、configUSE_MINI_LIST_ITEM 必须为零?

    谢谢、
    Mahmoud

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

    您是否已在应用程序的 FreeRTOS 注册表中注册所有必需的元素? SysConfig 不会执行此操作。 您能尝试一下吗 Control+RTOS_DEMO   然后看看 ROV 在这里是否按预期工作? (此示例还显示如何添加注册表元素)

    是、  对于 C29 FreeRTOS 端口、configUSE_MINI_LIST_ITEM 必须设置为 0。 发行说明中也对此进行了介绍。

    Arnav

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

    您好 Arnav Menon R  感谢您的帮助现在我可以在我的项目中运行 ROV、但信标显示在互斥量视图下、队列也有相同的问题。



    脚本是否有需要编辑的内容?

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

    尊敬的 Mahmoud:

    在此主题前面链接了新的 freertos.ROV.js 文件后、应解决此问题。 我已经针对相同的 control+RTOS_demo 示例对此进行了验证。 问题是否仍然存在?

    Arnav

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

    它在示例上工作正常该问题现在出现在我的项目中我做了同样的示例,但信标和队列显示在互斥量视图点击下。

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

    我看到、只要引用新的 ROV 文件、就不会出现此问题。 您能否检查中是否引用了正确的 SDK 版本 “Project Properties“->"Dependencies"->"F29H85x-SDK"</s>“ “““ 

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

    让我澄清一下。 我引用了新的 ROV 文件、并且“Muxeses"窗口“窗口中出现的信标或队列问题不会在 control+RTOS 演示中发生、但可以在我的工程中看到。 我使用 F29H850TU 同时运行这两个器件、因此我猜这不是硬件问题。


    我认为它可能与 javascript 中的 parseQueueObjManantic 函数有关,可能会误解对象的类型,无论是队列、信标还是互斥量。 这种解释也解释了屏幕上显示的奇怪符号。




    在我的 FreeRTOS 配置中、我完成了以下操作:
    -启用支持静态分配
    -启用支持 动态分配
    -启用 ROV 设置
    -禁用队列集

    还有什么我可能错过的吗?

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

    我理解、我想要验证 SDK 版本的原因是您的工程可能引用的 SDK 版本与 control_demo 不同、在这种情况下、您可能仍然看到旧的 ROV。  

    如果情况并非如此、是否可以转发您的项目、以便我可以检查是否可以在我最后重新创建问题? (您也可以私下发送)

    Arnav