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.
工具与软件:
尊敬的 TI 团队:
由于我的项目、我正在 尝试针对 CI/CD 实现的通信行构建。 我的主要目标之一是构建项目而不依赖于本地开发机器的操作系统。
我尝试在 Buildserver 上构建我的本地 CCS 项目、我在其中使用 CCS 的命令行界面。
我的本地计算机基于 Windows (Windows 10、CCS 版本:12.0.0.00009)、而构建服务器基于 Linux (Ubuntu 22.04.4 LTS、CCS 版本:12.0.0.00009)。
我主要使用了" 使用命令行 和 Code Composer Studio 安装程序使用创建和构建项目"中的文档。
我将 TI MCU+ SDK、SysConfig 和 TI Arm Clang 编译器安装到~/ti
。 之后我把 CCS 安装到~/ti
,太.
版本与本地 Windows 构建中使用的版本相同。
ortfeld@Buildserver:~/ti/ccs12.0.0/ccs/eclipse$ ls -l ~/ti total 24 drwxr-xr-x 4 ortfeld 25830 4096 Jun 7 14:00 ccs12.0.0 drwxrwxrwx 2 ortfeld 25830 4096 Jun 7 14:00 CCSExternalReferences drwxr-xr-x 8 ortfeld 25830 4096 Jun 7 10:08 mcu_plus_sdk_am64x_09_01_00_41 drwxr-xr-x 8 ortfeld 25830 4096 Jun 7 10:03 sysconfig_1.18.0 drwxr-xr-x 6 ortfeld 25830 4096 Jun 7 13:38 ti-cgt-armllvm_3.2.0.LTS drwxrwxrwx 3 ortfeld 25830 4096 Jun 7 13:58 tirex-localserver-3.7.1
我将 CCS 工程复制到 buildserver 中、并使用将其导入到本地工作区中 ./eclipse -noSplash -data ~/ccs-workspace/ -application com.ti.ccstudio.apps.projectImport -ccs.location ~/<PathTo-Project>/prj
我曾尝试编译工程、但失败了、因为 CCS 找不到所需的编译器:
ortfeld@Buildserver:~/ti/ccs12.0.0/ccs/eclipse$ ./eclipse -noSplash -data ~/ccs-workspace/ -application com.ti.ccstudio.apps.projectBuild -ccs.projects prj SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See www.slf4j.org/codes.html for further details. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CCS headless build starting... [Fri Jun 07 14:03:18 CEST 2024] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ================================================================================ Pre processing... ================================================================================ Building... **** Clean-only build of configuration Debug for project prj **** /home/ortfeld/ti/ccs12.0.0/ccs/utils/bin/gmake -k -j 8 clean -O rm -rf "syscfg/ti_dpl_config.h" "syscfg/ti_drivers_config.h" "syscfg/ti_drivers_open_close.h" "syscfg/ti_board_config.h" "syscfg/ti_board_open_close.h" "syscfg/ti_enet_config.h" "syscfg/ti_enet_open_close.h" "syscfg/ti_enet_lwipif.h" "syscfg/ti_pru_io_config.inc" "freertos.hex" "syscfg/ti_dpl_config.c" "syscfg/ti_drivers_config.c" "syscfg/ti_drivers_open_close.c" "syscfg/ti_pinmux_config.c" "syscfg/ti_power_clock_config.c" "syscfg/ti_board_config.c" "syscfg/ti_board_open_close.c" "syscfg/ti_enet_config.c" "syscfg/ti_enet_open_close.c" "syscfg/ti_enet_soc.c" "syscfg/ti_enet_lwipif.c" "freertos.elf" rm -rf "syscfg/ti_dpl_config.o" "syscfg/ti_drivers_config.o" "syscfg/ti_drivers_open_close.o" "syscfg/ti_pinmux_config.o" "syscfg/ti_power_clock_config.o" "syscfg/ti_board_config.o" "syscfg/ti_board_open_close.o" "syscfg/ti_enet_config.o" "syscfg/ti_enet_open_close.o" "syscfg/ti_enet_soc.o" "syscfg/ti_enet_lwipif.o" "<...more files...>" rm -rf "syscfg/ti_dpl_config.d" "syscfg/ti_drivers_config.d" "syscfg/ti_drivers_open_close.d" "syscfg/ti_pinmux_config.d" "syscfg/ti_power_clock_config.d" "syscfg/ti_board_config.d" "syscfg/ti_board_open_close.d" "syscfg/ti_enet_config.d" "syscfg/ti_enet_open_close.d" "syscfg/ti_enet_soc.d" "syscfg/ti_enet_lwipif.d" "<...more files...>" rm -rf "syscfg/" Finished clean **** Build Finished **** Buildfile generation error occurred.. Product ti_cgt_tiarmclang v3.2.0.00 is not currently installed and no compatible version is available. Please install this product or a compatible version. Build stopped.. ================================================================================ CCS headless build complete! 1 out of 1 projects have errors.
如何解决这个问题? 是否有命令告知 CCS 编译器的安装位置? 我试图添加一个链接或将编译器目录 ti-cgt-armllvm_3.2.0.LTS
本身移动到~/ti/ccs12.0.0/tools/compiler
,但它没有帮助。
是否可能在项目设置中存在来自本地 Windows 项目的依赖项?
是否有更多文档或指南说明如何在编译服务器上针对 CI/CD 流水线实现此类 CCS 无外设构建?
提前感谢!
Daniel Ortfeld
您好!
是否有命令告知 CCS 编译器的安装位置? [报价]是、请参阅: https://software-dl.ti.com/ccs/esd/documents/ccs_projects-command-line.html
请参阅常见问题解答"是否有命令行选项可用于指定新安装的编译器工具版本的路径、以便 CCS 可以检测到该路径?"
[quote userid="540100" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1372551/codecomposer-ccs-headless-build-fails-because-of-missing-compiler-installation 是否有更多文档或指南可以指导您如何在构建服务器上针对 CI/CD 流水线实现此类 CCS 无外设构建?
我知道 TI 没有与此相关的特定文档。
谢谢
Ki
您好!
感谢您提供常见问题解答的链接! 我尝试了这两条建议、但我的项目仍然无法构建。
1.使用建议的命令将编译器路径添加到 CCS: $ ./eclipse --nosplash -date ~/ccs-workspace -application com.ti.common.core.initialize -ccs.toolDiscoveryPath "~/ti/ti-cgt-armllvm_3.2.0.LTS"
2. 在 CCS 安装中重新安装编译器:
$ ls -l ~/ti/ccs12.0.0/ccs/tools/compiler/ total 20 drwxr-xr-x 3 ortfeld 25830 4096 Jun 7 13:59 dmed drwxr-xr-x 6 ortfeld 25830 4096 Jun 7 13:58 ti-cgt-arm_20.2.6.LTS drwxr-xr-x 5 ortfeld 25830 4096 Jun 7 13:58 ti-cgt-armllvm_2.1.0.LTS drwxr-xr-x 6 ortfeld 25830 4096 Jun 11 09:16 ti-cgt-armllvm_3.2.0.LTS drwxr-xr-x 6 ortfeld 25830 4096 Jun 7 13:58 ti-cgt-c6000_8.3.12
(我尝试在第1步和第2步之间构建项目。。。)
编译过程仍会显示与之前相同的错误消息:
... **** Build Finished **** Buildfile generation error occurred.. Product ti_cgt_tiarmclang v3.2.0.00 is not currently installed and no compatible version is available. Please install this product or a compatible version. Build stopped..
我是不是做错了什么? 您还有其他想法吗?
感谢您发送编修。
Daniel
~/ti 文件夹中的 SDK、sysconfg 和编译器是否从 TI.com 下载并手动安装了它们的安装程序?
好的、我需要尝试设置此环境并查看是否可以重现此问题。
您好!
您是否能够重现此问题?
感谢您的进一步支持!
很抱歉延迟、我尚未能够重现此问题。
您好!
我还在等待解决方案。
与分类"TI 认为已经解决"相比、这个问题仍然存在。
我们有产品 RESP。 使用 TI AM64进行原型设计、我们需要这种无头构建方法来为 AM64的子核实施我们的软件配置。 这是一个非常令人失望的情况。
好的、我需要尝试设置此环境、看看我是否能重现此问题。
很抱歉耽误你的时间。 我可以开始使用全新的 Ubuntu 22.04 LTS VM。
然后在"Installed"中下载:CCS 12.0.0、MCU+ SDK AM64x 9.01.00.41、SysConfig 1.18.0、Clang 编译器3.2.0
全部在 μ~ ti 中
尝试从 SDK 导入示例时、出现以下错误:
这很有趣、因为我的警告与您的警告不同。 CCS 导入向导正在为3.2.0编译器(TICLANG_EN_3.2.0)查找特定的字符串、但找不到 该字符串、因此默认为发现的不同的3.2.0字符串(TICLANG_EN_3.2.0.LTS)。
在检查我的工作区文件夹时、我看到该示例的项目文件夹位于其中。
然后、当我构建该项目时、它实际上会正确构建、因为它使用它 发现的 TICLANG_EN_3.2.0.LTS。
名称有一些不匹配、但不会影响我的版本。
e2e.ti.com/.../4505.build_5F00_log.txt
问题是为什么你甚至不能达到这一点。
我想确认的一点是、您是否解析了中提到的所有依赖项: https://software-dl.ti.com/ccs/esd/documents/ccsv12_linux_host_support.html
如果是、那么您是否可以尝试导入我在中导入的同一个 SDK 示例:~/ti/mcu_plus_sdk_am64x_09_01_00_41/examples/empty/am64x-evm/r5fss0-0_nortos/ti-arm-clang
您是否有同样的问题?
您能否共享您的项目? 我主要需要项目文件夹中的三个.*project 文件,但有整个项目文件夹的内容将是有帮助的。 如果您可以压缩项目文件夹并提供、那将会很有帮助。
如果您愿意、可以通过专用 E2E 消息发送。
您能否分享您的项目? [报价]实际上、我可能不需要它。 我可以重现我在 CCS IDE (相同的空工程)窗口中导入并编译的工程问题。
我想我有一个问题的墨水。 对于您尝试导入的项目... 我假设您创建了该项目并使用 CCS IDE 进行构建。 您是否从 CCS Resource Explorer 中获取 SDK 和 CLANG 编译器、而不是手动下载/安装它们的独立安装程序?
更新了-我已经做了一些测试、到目前为止我看到:
我认为情况恰恰相反。
如果该版本有一些修复程序、我还会尝试使用 CCS 12.7.1。
如果该版本有一些修复、我也将尝试使用 CCS 12.7.1。 [报价]CCS 12.7.1似乎效果更好。 使用 CCS 12.0.0 IDE (从 Windows 和 Linux)创建的相同工程会很好地导入到我的 CCS 12.7.1 Linux 环境中。 您是否可以尝试更新 CCS 版本?
您能否为您的 Windows 项目提供故障信息?
您好 Ki、
恐怕我无法分享这个项目、因为其中有很多公司特定的 IP。
同时、我使用 CCS 版本12.7.1在 Windows 上设置这个项目的新功能、并尝试以后使用 lunux 编译服务器来构建它。
我会不断更新、它的工作原理!
谢谢!
Daniel
恐怕我无法分享此项目、因为其中有许多公司特定的 IP。
我理解。 请注意、我不一定需要实际工程。 事实上,我更喜欢一个尽可能减少的一个。 我只需要能够重现项目的问题。
我正在用 CCS 版本12.7.1在 Windows 上新建这个项目的同时、尝试用 lunux 编译服务器编译它。
好的、让我保持发布状态!
您好 Ki、
我这边的一些更新:
1.
我使用 CCS 12.7.1重新创建了项目。 它可以在 GUI 中在我的 Windows 主机上构建、但不能在命令行中的 Linux Buildserver 上构建
错误仍与之前相同:
这个问题似乎与 CCS 版本无关、而是最初创建项目的对象。 这似乎只是与已安装的编译器和将在项目中使用的编译器集有关的问题。
在工程中、编译器设置如下:
编译器列表是按照 C:\ti\ti_cgt_tiarmclang_3.2.0.LTS 安装的
在 buildserver 上的错误消息中、表示未安装 ti_cgt_tiarmlang、正确为 true:
在 Linux 上、编译器称为 ti-cgt-armllvm (与 Windows 上的 ti_cgt_tiarmclang 相比)。
这两个不同的编译器吗? 是否有可在 bot OS 上使用的编译器? ti_cgt_tiarmclang 编译器是否可用于 Linux?
搜索 TI Arm Clang 编译器(ti_cgt_tiarmclang)我无法在网站上找到它、但可以在此处找到适用于 ARM-CGT-CLANG 和 Linux 的 ti_cgt_armllvm:Linux/3.2.0.LTS。
但是、当我在 Windows 主机上安装此编译器时、CCS GUI 中没有发现该编译器:
如何才能发现此编译器? (刷新按钮不起作用...)
对我来说、这两种方法似乎有希望解决问题。
2.
我还尝试在命令行中在我在 GUI 中生成项目的同一个 Windows 主机上生成我的项目。 (我只是想看看是否 可以在不使用 GUI 的情况下构建项目。。。)
在这里、在现有的工作区中构建现有项目时、我还会遇到一些问题:
尝试将现有工程导入新工作区也会失败、并出现类似问题:
我想知道为什么它需要在项目所在的位置具有.metadata 文件夹。 该文件应在工作区内、但不在项目位置中。
我还尝试了 PowerShell 和 git shell、但它们也不起作用。
我是否在 Windows 上使用了错误的命令? 您可以在此处分享正确的命令吗?
感谢您的进一步帮助和研究!
我将并行完成剥离项目的工作、以便与您分享。
Daniel
这两种不同的编译器是不是? 是否有可在 bot OS 上使用的编译器? ti_cgt_tiarmclang 编译器是否可用于 Linux?[/QUOT]它们都是相同的编译器。 有时 该文件夹似乎使用了 ti-cgt-armllvm 和 ti_cgt_tiarmclang 名称。 它们的打包方式也可能不同(尽管它们都是相同的编译器)。 这一切都是那么令人困惑。
我在 windows 上使用的命令是否错误? 您可以在此处分享正确的命令吗?删除该工作区路径和正在导入的工程路径的最后反斜杠。
[/quote]我将在并行工作中剥离项目、以便与您分享。 [报价]这将对您有所帮助。 请注意、该项目可能非常简单。 "hello world"项目基本到此为止。 只需要能够重现问题。
谢谢
Ki
编译器列表已安装 unter C:\ti\ti_cgt_tiarmclang_3.2.0.sts
您从何处获得了该驱动程序的安装程序? 您是否使用了默认的安装文件夹名称?
是的。 我有同样的问题,因为我无法再找到它。
我想我是通过以下网址上的 MCU+SDK 说明下载的: AM64x MCU+ SDK:下载、安装和设置 SDK 和工具(TI.com)
我使用了早期版本的 SDK (09_01_00_41)、但无法再访问此 SDK 版本的文档、就像现在一样 09.02.01。
感谢路径中最后一个斜杠的提示。 当我删除它时、我能够在命令行中无头地在我在 GUI 中生成项目的同一个 Windows 主机上构建项目!
此外、我在此处进一步尝试了编译器: ARM-CGT-CLANG IDE、配置、编译器或调试器| TI.com ( TI-CGT-armllvm_3.2.0.LTS 型号)。
我在 C:\ti:
因此、我已卸载 CCS 12.7.1并已重新安装它。 之后、至少在主设置中、编译器在 CCS 中可用:
正如预期的那样、由于缺少项目中的编译器集、我的项目无法构建:
尝试切换到 TI-CGT-armllvm_3.2.0.LTS 编译器是不可能的、因为我无法添加该编译器。
我发现、从产品页中完全删除编译器将导致用新的成功编译项目 TI-CGT-armllvm_3.2.0.LTS Compiler、已在控制台中得到验证 :
现在终于有了好消息:
我曾在我的 Linux Buildserver 上构建该 Windows 项目、其中安装了相同的编译器、但在 Linux 变体中。
我现在可以导入此工程并构建它!
在我看来、这是一个很混乱的地方(很抱歉地说...) 无论如何、 感谢您在本测试和调试部分的帮助!!
我希望屏幕截图是足够的任何其他人面临这个问题/现象!
Daniel
我现在可以导入此项目并生成它! [报价]非常好。 感谢您分享这些细节!
[/quote]在我看来这是相当混乱的(很抱歉地说...) [报价]这里很糟糕。 虽然这些编译器都相同、但它们的打包方式却不同。 我认为这会引起混淆。 我们需要对此进行研究。