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:使用 SDK 的 GIT 版本而不是 ZIP 需要不明确的指令

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1401502/codecomposer-using-the-git-version-of-the-sdk-instead-of-the-zip-requires-incantations-that-are-not-clear

Thread 中讨论的其他器件:CC1352PCCStudio

工具与软件:

我试图使用"官方 Git 存储库"(或其分支)、而不是下载和解压 SDK、因为我想拥有更改历史记录。 克隆 https://github.com/TexasInstruments/simplelink-zstack-examples/ 可以正常工作、但导入示例结果时使用了:

```μ A

根@容器:~/workspace# export COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR=/SDK;eclipse -noSplash -data "${HOME}/workspace"-application 'com.ti.ccstudio.apps.projectImport'-ccs.location "eclip"/sdk/examples/rtos/CC1352P_2_LAUNCHXL/zstack/znp/tirtos7/ticlang/znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.projectspec
SLF4J:无法加载类"org.slf4j.impl.StaticLoggerBinder"。
SLF4J:默认使用无操作(NOP)记录器实现
SLF4J: 有关更多详细信息、请参阅 www.slf4j.org/codes.html。

-------------------------------------------------------
正在从"/sdk/examples/rtos/CC1352P_2_LAUNCHXL/zstack/znp/tirtos7/ticlang/znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.projectspec 导入项目...

注意:未指定 output-type -默认为"executive"。
注意:当前未安装编译器版本"TICLANG_EN_1.2.1"! -默认为'TICLANG_EN_3.2.2.LTS'。
注意:未指定器件字节序-默认为"little"。
注意:未指定 output-format -默认为"ELF"。
! 错误:当前未安装 product com.ti.SIMPLELINK_CC13XX_CC26XX_SDK v0.0、且没有兼容版本可用。 请安装此产品或兼容版本。

```μ A

一些背景信息、我也尝试通过使用容器化管道的 CI 来执行此操作。 我按如下方式安装 CSS:

```μ A

"pf$/tmp/ccs_install/CCS{ccs_version}_linux-x64/ccs_setup_${ccs_version}.run"--enable-components "PF_WCONN"--mode unattended -- prefix '/opt/ti
回显"正在提取 SDK..."&&\
解压缩"/tmp/ccs_install/simplelink_cc13xx_cc26xx_sdk_${SLF2_VERSION_PATH:?}__linux.zip"-d '/opt/ti

```μ A

这样就会产生工作设置。 但是、如果我将存储库克隆到"/sdk"(因此`/sdk/cc13xx_cc26xx_sdk`递归)、尝试将其粘贴为上面的内容、则会失败。 如果我从解压缩的 SDK 导入、一切都会正常运行。 所以显然 git repo 没有设置导入成功的事情,但我应该设置什么?

我读取到 IDE 的某个位置时、需要"注册"SDK;但解压缩时没有注册、所以我认为 CSS/ Eclipse 没有任何差别。 所以、与归档相比、在存储库中必须有一些不同的东西? 这里需要什么神奇的化身?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到有了 IDE、就必须"注册"SDK

    我假设您的意思是、它必须被 IDE "发现"。 是的、这是必需的。

    请参阅以下文章中名为"产品发现"的部分:

    https://dev.ti.com/tirex/explore/node?node=A__AO8DVCZhl0Kt5-yIAVmyvQ__ccs_devtools__FUz-xrs__LATEST

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

    这正是我所追求的。 谢谢! 它还解释了逻辑、因为它将搜索"css 安装路径"(例如、在我的案例中为/opt/ti)和(我认为)"${home}"(我已将其设置为工作区所在的"/build")。 https://dev.ti.com/tirex/explore/node?node=A__AG8CwtaXYck9M-RnDSK3qA__ccs_devtools__FUz-xrs__LATEST 甚至介绍了我的确切场景、即在 Git 存储库中使用 SDK。

    现在唯一一件仍然神秘的事情是如何设置从 CLI 的"产品发现路径",这 是在这里记录 software-dl.ti.com/.../ccs_project-command-line.html 或因此我想;但这是为 Theia ;我需要(现在)这个为'12.8遗留' CCS'...遗憾的是,搜索它在 https://software-dl.ti.com/ccs/esd/documents/users_guide/search.html?q=productDiscoveryPath&check_keywords=yes&area=default 上 没有任何结果(尚未)。 可以总是把它破解到`/opt/ti/ccs/eclipse/configuration/ccs.properties 通过附加`com.ti.ccstudio.project.core.internal.tools.CodegenToolDiscoveryManager.TOOL_DISCOVERY_PATH=/sdk`;)但 software-dl.ti.com/.../ccs_projects-command-line.html 看起来像我需要的!

    将进行测试、但到目前为止可以认为已经解决! 感谢您为我指明正确的方向并帮助我识别正确的关键字。

    这在使 SDK 可用于 eclipse 的过程中有效、但是、当我从 projectspec 文件导入项目时、仍然会收到相同的错误:(这可能是因为示例库(其中包含 SDK 作为子模块)"假设"某些内容? 要重新迭代、我的过程现在看起来像这样:

    ```μ A

    ccs_setup_${ccs_version}.run"--enable-components "${SLF2_components:?}" -- mode unattended --前缀'/opt/ti /'

    Eclipse -nosplash -application com.ti.common.core.initialize -ccs.productDiscoveryPath "/sdk/cc13xx_cc26xx_sdk "

    Eclipse -noSplash -data "${home}/workspace"-application 'com.ti.ccstudio.apps.projectImport'-ccs.location "/sdk/examples/rtos/CC1352P_2_LAUNCHXL/zstack/znp/tirtos7/ticlang/znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.projectspec

    ```μ A

    然后、它会将我视为无需注册产品发现路径。

    我将尝试通过 GUI 导入它、看看这是否有什么不同...

    它不是,但是! 单击"刷新"之前未发现任何产品。那么现在、如何刷新此列表(从 CLI)?

    我可以确认、在点击"刷新"后、导入操作成功!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但这是针对 Theia 的;我需要(目前)这是针对'12.8 legace'CCS'

    CCS Eclipse 支持这一点。

    请参阅本文底部的常见问题解答: https://dev.ti.com/tirex/explore/node?node=A__AJpAFDF7v70N4B0-zFMXpw__ccs_devtools__FUz-xrs__LATEST

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

    嘿 Ki,谢谢,但这是完全相同的页面,只是从资源浏览器内. 但它没有提到如何从 CLI "刷新"路径。

    例如、它提到:

    是否有命令行选项可用于指定新安装版本的编译器工具的路径、以便 CCS 可以检测该路径?

    在 CCSv5中、没有对应的命令行选项。 但是、如果新安装的编译器工具版本安装在 CCS 目录中( \ccsv[x]\tools\compiler)它将自动被发现并可以使用。 如果它安装在其他位置、用户可以首先通过 CCS GUI 手动添加路径、然后通过命令行生成。

    在 CCSv6及更高版本中、有一个命令可用于将新目录(一个或多个目录)添加到编译器工具发现路径中。 命令为:

    eclipse -nosplash -data <workspace> -application com.ti.common.core.initialize -ccs.toolDiscoveryPath "<path1>;<path2>"

    eclipse -nosplash -data <workspace> -application com.ti.common.core.initialize -ccs.productDiscoveryPath "<path1>;<path2>"

    Which is great, perfect, but if you look at my post, including the screenshots, you'll see that while the change loads the path, it doesn't 'refresh' and actually scan the added paths.

    然而,这并不完全正确。 如果我通过 CLI 添加"可覆盖软件产品"、它将不会自动检测到它。 如果你构建它、也许会这样、但是我需要先导入项目、然后才能构建它。 不会触发自动扫描。 在 UI 中按下"refresh"(刷新)按钮后、也可以通过 CLI 执行所有操作。 因此、问题是、我们如何从 CLI 触发"刷新"或"自动发现操作"。例如

    eclipse -nosplash -data <workspace> -application com.ti.common.core.refresh

    (i made that up of course)

    同样可以使用 GUI 选项"在 Eclipse 启动时自动扫描(可能会影响启动时间)"(如果我可以从 CLI 进行设置)。从 GUI 启用该选项、然后执行导入会对 projectImport 起作用!

    编辑:嗯、我认为`/opt/ti/ccs/eclipse/eclipse -nosplash -application com.ti.common.core.initialize -ccs.productDiscoveryPath "${SLF2_SDK}"`存储了一些不适用于我的容器的内容。 我在"扩展版构建"脚本中运行此命令(但当时没有 SDK)、该脚本会按预期将工具路径存储在 ccs.properties 文件中、但直到我按如上所述的刷新后才发现该路径。

    但是、当我在正在运行的容器(安装 SDK 的卷)中再次运行命令时、它实际上起作用了。 因此、添加发现路径将执行扫描、当它找到某些内容时、将存储一些内容。 所以我可能需要伪造/存储单个文件、以确保扫描能够正确地找到 SDK。 这种很烂,因为我想建立一个容器,然后再连接 SDK 到它;但 SDK 可以不同,所以能够"自动刷新"是一个"要求"。