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.

[参考译文] CODECOMPOSER:XDC 依赖性问题

Guru**** 2581345 points
Other Parts Discussed in Thread: AWR6843, CODECOMPOSER

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1068511/codecomposer-xdc-dependency-question

部件号:CODECOMPOSER
线程中讨论的其他部件:AWR6843

前体
这在某种程度上与我在传感器论坛上的另一篇帖子有关,该帖子涉及在无头 Jenkins 服务器上构建基于 AWR6843的项目。

但是,有一个领域我似乎不能绕过我的脑袋,那就是 XDCTools 的使用,实际上是整个 XDC 的使用。

这完全是我对自己的误解,所以在我试图解释的时候请多多包涵。

概述
想象一下,您有一个支持 TI 的 mmWave 传感器之一的项目。 通常,您会有一些自定义源文件,预编译的 mmWave 库以及一个 RTOS (在这种情况下是 SYS/BIOS)。

我正在掩盖细节,但从高水平上说,您现在已经与两个主要组件建立了联系,一个是 mmWave SDK,另一个是 SYS/BIOS。

默认情况下,这些组件的安装路径将位于 C:\ti 下。 例如,如果安装 mmWave SDK,它将安装到 C:\ti\mmWave_SDK_03_05_00_04,而 BIOS C:\ti\BIOS_6_73_01_01也是如此

从项目可移植性的角度来看,将这些组件打包成 git 子模块,或者将其压缩并存储在 Artifactory 中可能是有意义的。 基本上是一种在内部托管特定只读软件包的方法。

关键是,每个从事项目工作的开发人员都不必担心安装 mmWave SDK 或用于此问题的 RTOS,因为它将与项目源代码一起打包。

例如,项目结构可能如下所示:  

C:\git_ws\ProjForE2ePost
├───Build
│       YourEnvBatchFilesHere.txt
│       YourMakeFilesHere.txt
│
├───DSS
│       YourDspCcsProjHere.txt
│
├───MSS
│       YourMcuCcsProjHere.txt
│
├───SW
│       YourCoreSwHere.txt
│
└───TI
    ├───bios_6_73_01_01
    ├───dsplib_c64Px_3_4_0_0
    ├───dsplib_c674x_3_4_0_0
    ├───mathlib_c674x_3_1_2_1
    ├───mmwave_sdk_03_05_00_04
    ├───xdctools_3_50_08_24_core
    └───xdctools_3_62_00_08_core


是的,这里有一个交易,因为开发人员必须坐下来等待所有这些包裹被拉入分支机构,但这是我们可以解决的问题。

在这种情况下,理论上,无头 Jenkins 系统可以将该项目下拉并构建,而无需安装 Code Composer。 它具有 makefile 和所有项目相关性,因此它应该能够编译并生成生成生成的生成工件。

嗯,这就是我做错的地方。 生成失败,因为它正在寻找 XDCTools,64位 JVM 和 gmake 的特定版本,这些版本位于  C:\ti\ccs1100\cc\utils\bin 中

问题
我似乎无法找到的是,它从哪里拉走这些 XDC 路径?  XDC 的作用是什么? 如果我查看.cproject 或.ccsproject,我将看不到特定的路径。 事实上,我看不到任何包含 c:\ti 的路径,因此必须从其他位置提取 XDC

在我挖得太深之前,我至少想看看我上面的任何想法是否有意义,或者我是否在杂草中走了:)

谢谢!

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

    好的,自从我上一篇文章以来,我取得了一些进展。 我会详细解释一下,希望它能帮助其他人上路。

    在 XDC 和 RTSC 方面,我仍然没有完全了解全局,但我会在 TI 培训系列中四处走动,看看有什么东西会弹出。

    尽管如此,就我上面提到的 XDCTools 路径问题而言,它必须存在版本差异。

    我会解释,也许 TI 的人可以证实这一理论。

    e2e 上现有的许多帖子讨论了 XDC_CG_root 环境变量。 此特定变量为只读变量,根据我可以告诉的内容,它仅基于“产品发现路径”进行设置。

    在该对话框中,有用于 C:\tiC:\ti\ccs1100 C:\Program Files\Texas Instruments 的标准硬编码路径。



    或者,您可以为感兴趣的模块添加自己的路径。 就我而言,这是我做的第一件事,但无论我尝试了什么,提供的路径都无法检测到任何其他 XDCTool 模块。

    在调试会话的几个小时内,我决定“卸载”所有版本的 XDCTools。 然后,我取消选择了标准 TI 发现路径,并仅选择了我的自定义路径。 通过这样做,它可以找到*几乎所有需要的模块,而  XDC_CG_ROOT 变量则是按预期设置的。


    查看版本时,我的 XDCTools 版本(3.50.08.24) C:\ti\xdctools_3_50_08_24_core 下的版本相同。 因此,当我最初启动此线程时,我选择了 C:\ti 作为搜索路径以及自定义搜索路径,因此它必须比我的版本更好,这样就无法检测到它?

    我仍然不理解这一部分。 上面的红色箭头表示 存在 xdctools_3_50_08_24_core,并且位于特定的搜索路径中,但不管出于什么原因,CCS 检测到其他版本,但不检测 xdctools_3_50_08_24_core。

    根据我的 SYS/BIOS 版本(6.73.01.01),这些注释 明确提到将 XDCTools 3.50.08.24作为推荐版本,因此它给我的缺陷有点我无法安装它,但我现在至少已被解除阻止,并将同时使用3.62.0.8。

    关于原始帖子的“可移植性”部分,一旦设置了我的发现路径,下一步是执行相同的发现过程,但对于编译器。也就是说 ,我没有访问 C:\ti\cgT-arm_16.9.6.LTS,而是指向我的自定义路径。 这同样适用于 DSP 编译器。

    当时,我唯一依赖的(我知道的)是 CCS 用来构建的基础实用程序,即 gmake,它链接到环境变量 CCS_utils_DIR

    现在这些路径都已解析并指向自定义路径,我将把项目移到没有 CodeComposer 的机器上,看看它是否会生成。