Other Parts Discussed in Thread: AWR6843,
Precursor
This is somewhat related to my other post on the Sensor Forum with regard to building my AWR6843 based project on a headless Jenkins server.
However, there's one area that I can't seem to wrap my head around, and that's the use of XDCTools, and actually XDC as a whole.
This is 100% a misunderstanding on my end, so bear with me while I try to explain.
Overview
Imagine you have a project built to support one of TI's mmWave sensors. In general you would have some custom source files, precompiled mmWave libraries, and an RTOS of choice, in this case SYS/BIOS.
I'm glossing over the details, but at a high level, you have now linked against the two main components, one being the mmWave SDK, and the other being SYS/BIOS.
By default, the installation path for these components would be under C:\ti. For example, if installing the mmWave SDK it would install to C:\ti\mmwave_sdk_03_05_00_04, and the same applies for BIOS C:\ti\bios_6_73_01_01.
From a project portability standpoint, it may make sense to wrap those components up into something like a git submodule, or maybe zip them up and store in Artifactory. Basically a way to internally host that particular read-only package.
The point being, each and every developer who works on the project would not have to worry about installing the mmWave SDK, or the RTOS for that matter, as it would be packaged along with the projects source code.
For example, the project structure could look something like this:
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_coreYes, there is a trade off here, as the dev would then have to sit and wait for all those packages to be pulled down into their branch, but it's one that we can work around.
For this scenario, in theory, a headless Jenkins system could then pull this project down, and build it, without having Code Composer installed. It has the makefiles, and all of the project dependencies, so it should be able to compile and produce the resulting build artifacts.
Well, that's where I went wrong. The build fails, as it's looking for XDCTools, a 64-bit JVM, and a specific version of gmake, which is found in C:\ti\ccs1100\ccs\utils\bin
Question
What I can't seem to find out is, where is it pulling those XDC paths from? And what is XDC being pulled in for? If I look in the .cproject, or .ccsproject, I don't see a specific path. In fact, I don't see any paths that contain c:\ti, So XDC must be pulled from somewhere else.
Before I dig too much deeper, I wanted to at least see if any of my thoughts above make sense, or if I'm off in the weeds :).
Thanks!

