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.

[参考译文] CCS/TMS320C6678:CCS RTSC 工程无法递归查找自定义 RTSC 平台?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/648192/ccs-tms320c6678-ccs-rtsc-project-cannot-find-custom-rtsc-platform-recursively

器件型号:TMS320C6678
Thread 中讨论的其他器件:SYSBIOS

工具/软件:Code Composer Studio

环境:

  • CCS 7.3
  • XDCtools 3.50
  • SYSBIOS 6.50

我基于 CCS 向导生成的内容创建了自定义 RTSC 平台。 该软件包名为 team.platforms.board0、平台模块名为 team.platforms.board0.Platform。

整个 RTSC 平台(也是一个软件包)位于我的存储库中、其根目录有"eclipse"目录、并已作为 RTSC 产品添加到 CCS 中。

在这种情况下、CCS 会自动在 RTSC 工程中为我的 RTSC REPO 路径添加一个 environmen 变量。 因此、它应该会在 CCS 工程属性页面(XDC 选项卡)中找到我的定制平台。 但我只能在下拉列表中看到 TI 的平台、如 ti.platforms.evm6678。

如果我手动键入我的 RTSC 平台软件包名称(team.platforms.board0)、我的项目编译将会很顺利。

如果我手动向目录'${myRpoRoot}/team/platforms '的位置添加额外路径、CCS 可以在下拉列表中显示我的自定义平台以及 TI 的自定义平台。

我想这是因为 CCS 现在不会递归地搜索平台。 我是对的吗? CCS 在下一个版本中搜索更好的可能性有多大?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否展示 CCS 在何处为您的平台存储库添加了环境变量? 我已经有一段时间没有研究过该功能、但我记得、当您创建新平台时、您将在任何项目之外执行该功能。 因此、您的新平台及其存储库不会自动添加到任何项目中。 您必须手动执行它、正如您已经发现的那样。 我认为我们没有计划在 CCS 中自动向每个项目添加平台存储库。
    如果只有一个这样的存储库,则始终可以将其添加到 Window -> Preferences -> Code Composer Studio -> Products -> RTSC 中。 添加后、选中左侧的复选框、该存储库将添加到添加存储库后创建的每个项目中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,Sasha。

    在发布本主题之前、我已经将我的定制报告添加到 CCS 中、以便能够顺利地在 RTSC 项目中使用我的定制模块。

    我的定制 RTSC 平台也位于我的定制 repo 中、这意味着我理论上不必为我的平台添加额外的路径。 但实际上、我必须添加一个额外的软件包路径、其中包含用于自定义 RTSC 平台的平台模块。

    我提到的环境变量是在${RTSCProduct}/eclipse/plugins 中创建的变量 /plugin.xml (如果我正确调用)。 该变量将显示在 RTSC 工程属性设置页面的 XDCtools 的一个设置选项卡中。 还将为 XDC、SYSBIOS 等创建变量。 这些变量实际上通过参数'--xdcpath'传递到命令 XDC。

    总之、只有当我遇到 CCS RTSC 工程属性窗口的产品选择选项卡时、才会出现此问题。 在下面的下拉列表中、我可以选择一个 RTSC 平台。 该列表由 CCS 本身生成或更新。 列表中没有我的自定义平台、如果我没有在该选项卡中为我的 RTSC 平台添加额外的路径。
    我想核心问题可能是封装重复搜索。 当针对 RTSC 平台的 CCS serachs 时、如果它找到一个文件夹、它会检查这个文件夹是否是一个必须有一个平台模块的软件包。 如果失败、则会移动到下一个文件夹、而无需挖入。

    也许我仍然无法足够准确地描述这种情况。 我会尽力而为。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在上面的某个地方,您说,当您在平台文本框中手动键入平台名称时,您键入的字符串为“team.platforms.board0"”。 这意味着平台软件包名称是"team.platforms.board0"、但您要添加到软件包路径的额外路径是"${myRepoRoot}/team/platforms "、这意味着平台软件包名称是"board0"。

    请看一下您的平台软件包的 package.xdc;这应该会告诉您软件包的实际名称。 如果是"board0"、则您的平台不会被发现是因为您的产品回购是${myRefoRoot}。 搜索算法将完整的包名称转换为路径、将其添加到 repo 路径中、并查看该路径是否存在(有更多详细信息、但这是一个简化版本)。 ${myRepoRoot}/board0不是有效路径、因此您在列表中看不到您的平台。

    假设我已正确完成所有这些操作、并且您的平台封装名称是 board0、则有两种方法可以解决它。 您的产品可以在 plugin.xml 中有多个存储库、因此您可以拥有"${myRepoRoot};${myRepoRoot}/team/platforms "。 另一种方法是通过编辑 package.XDC 并使用"team.platforms.board0"来重命名您的平台软件包。

    如果您的平台软件包名称已经是 team.platforms.board0、那么我将丢失一些内容。 在这种情况下,请在项目中附上 Window->Preferences->Code Composer Studio->Products->RTSC 窗口以及 Product and Repositories 选项卡的屏幕截图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sasha。

    我已经检查了 package.XDC、我确定我的平台包是与 RTSC 约定兼容的名称、在这里是"team.platforms.board0"。 我将在接下来的一天中发布屏幕截图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sasha。

    在我拍摄屏幕截图时、我发现 CCS 实际上可以在普通目录中递归搜索软件包。 但核心问题是 CCS 无法在 Windows 操作系统中的连接目录内进行递归搜索。

    在继续查看下面的屏幕截图之前、我们必须了解以下内容:

    • 我在目录 E:\proj\SYSBIOS-Support-Kit 中执行开发工作
    • 路径 d:\devel\ti\rtsc-products 是 RTSC 产品的 CCS 搜索路径之一。
    • 我创建了一个目录连接 d:\devel\ti\rtsc-products\sysbioskit、它链接到 e:\proj\SysBIOS-Support-Kit
    • 默认情况下、CCS 从 Junction 添加我的定制 RTSC 产品。

    我的定制平台的软件包名称和文件夹结构如下所示:

    CCS RTSC 工程属性中列出的 XDCpath:

    $(BETACAT_SYSBIOSKIT_INSTALL_DIR)是我添加到 CCS 中的自定义 RTSC 产品的路径。

    下图显示未找到我的自定义平台的情况。

    下图显示了在"其他存储库"中手动添加路径时可以找到自定义平台的情况。 该路径就是平台包所在的位置:

    下图显示了在"其他存储库"设置中添加开发工作目录时可以找到我的自定义平台。

    如果我使用符号链接而不是连接将我的工作目录与 CCS RTSC 产品搜索路径中创建的目录条目链接起来、那么一切都将顺利进行。 我没有获取屏幕截图。

    结论:

    • 如果找不到我的自定义平台、我可以在"Platform"设置中手动键入软件包名称、编译工作进展顺利。
    • 如果 CCS 通过 Directory Junction 导入我的自定义 RTSC 平台、则无法找到我的自定义平台。
    • 如果 CCS 通过普通目录或符号目录导入我的定制 RTSC 平台、它可以找到我的定制平台。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不认为我们已经针对目录连接测试了平台支持、因此存在一些问题并不令人惊讶。 我需要一些时间来测试它、但我还有几个问题可以帮助我解决问题。

    您的产品是否显示在"产品和存储库"下? 我看不到该窗格的完整内容、但我知道在搜索平台时、在此处选择的产品列表很重要。 RTSC 产品通常会显示在该列表中、因此您可以为项目选择它。

    BETACAT_SYSBIOSKIT_INSTALL_DIR 变量中有哪个路径? 我知道 xdcpath 在实际配置步骤运行时很重要、因此在"平台"文本框中手动键入您的平台时、可以找到它。 但是,我不确定在搜索下拉列表中显示的平台时是否使用了 xdcpath。

    此外,在手动将路径添加到平台所在目录的屏幕截图中,路径为 E:/devel/ti/rtsc-products...,而在帖子的顶部,您写道路径为 D:/devel/ti/rtsc-products... 您的平台是否位于两个不同的目录中、还是属于拼写错误?

    目前、我认为您最好的解决方法是将 E:/proj/SYSBIOS-Support-Kit/packages 添加到"产品和存储库"中、正如您在上一个屏幕截图中所做的那样、因为它与在"产品和存储库"下选择 RTSC 产品时发生的情况相匹配。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,Sasha。

    如果我调用正确、我的定制产品名称是 Betacat 的 SYSBIOS 套件。 该名称只是我在"eclipse"目录内的 plugin.xml 中编写的字符串。

    路径变量名称 BETACAT_SYSBIOSKIT_INSTALL_DIR 也是写入'eclipse'目录内.xml 文件中的字符串。 只写入名称、不提供特定的路径值。 我认为实际路径值是 CCS 在导入产品时生成的。

    路径 D:/devel/ti/rtsc-products 是一个排印错误、如图所示应为"E:/devel/ti/rtsc-products。 我对此很抱歉。

    是的、我现在必须解决这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我仍然需要知道您的产品是否显示在 Products and Repositores 下、而是显示为单独的 RTSC 产品、而不是显示在 Other Repositories 下。

    我已附加一个快照、其中创建了一个简单的演示产品、该产品将显示在"产品和存储库"中、作为我要询问的内容的示例。

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

    你(们)好,Sasha。

    当然、我的定制产品显示在"产品和存储库"下、就像 SYSBIOS 等其他产品一样。

x 出现错误。请重试或与管理员联系。