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.
我们在使用 Azure 管道和 Docker 的 CI 设置中使用 CCS。
我完全了解 CCS 的命令行界面、这就是我们使用的界面。
我要求进行非 GUI 安装、占用空间最小。
安装 CCS 时、即使设置最小、仍占用1.8 GB 的磁盘空间。
编译器本身大约需要0.2 GB、这意味着我们只安装了1.5 GB 来解析 CLI 命令和项目文件、并创建 makefile。 缝隙、比如大量浪费的空间。
为什么这很重要?
在我们的典型 CI 设置中、构建是在云中完成的、这意味着在使用 Docker 映像的代理上。 这意味着每次启动构建时、代理的第一步是下载 Docker 映像。
即使使用非优化的 Ubuntu 基本映像、CCS 安装也是此映像的3/4。
结果是、对于整个构建、包括从 git repo 获取源并将结果上传到 arterfactory、Docker 映像的下载需要2/3的时间。
我已经研究了是否可以减小 CCS 的安装大小。 虽然如此、但如果 CCS 安装程序提供更好的支持、这种支持可能会更容易、甚至更小的占用空间。
通过试用和错误、我尝试删除模块、并验证构建仍然有效。
CCS 和编译器由这些命令安装
/CCS10.1.0.00010_Linux-x64/ccs_setup_10.1.0.00010.run --mode unattended --prefix /ti/ccs1000 --enable-components PF_C28 ./ti_cgt_c2000_18.12.1.LTS_linux_installer_x86.bin --mode unattended --prefix /ti/ccs1000/ccs/tools/compiler
显而易见的第一步。 我们使用的是 C2000编译器的固定版本、因此 可以删除安装程序坚持与 CCS 一起安装的较新版本。
在下面找到生成的脚本以减小安装大小。 另附为 cccleaner.sh.txt (.txt 扩展名为 TI 论坛、不允许.sh)
#!/bin/sh #此脚本是在 CCS V 上执行错误清理操作的结果。10.1# 它将实例大小从1.8GB 降低到0.5GB (编译器本身需要0.2GB) #因此、在这次清理后、我们仍然使用0.3 GB 的空间将.project 文件转换为 makefile 文件以运行编译器。 ##就我所知、折叠树插件是必需 的#这是基本的 eclipse。 #- org.eclipse.platform.ide #忽略包含 com.ti.ccstudio。* #- com.ti.ccstudio.idemain.feature.group \ #缺少 Compiler def 的构建投诉 #- com.ti.ccstudio.c2000.feature.group # 然后有一些插件不会卸载、 与 debugServer #一样 ,与 org.eclipse.platform.ide 之间存在一些循环依赖关系#我将这些粘性插件保留在卸载列表中,也许在将来 # TI 会清除这种依赖关系:-)(您已满怀希望) /ti/ccs1000/ccs/eclipse/eclipse -application org.eclipse.equinox.p2.director \ -uninstallIU com.ti.arm.18.1.help.feature.group \ -uninstallIU com.ti.c2000.18.1.help.feature.group \ -uninstallIU com.ti.c2000.18.1.help.feature.group \ -uninstallIU org.eclipse.help.feature.group \ -uninstallIU com.ti.ccstudio.c5500.feature.group \-uninstallIU com.ti.ccstudio.c6000.feature.group com.ti.ccstudio.c7000.feature.group com.ti.ccstudio.doc.linux.feature.group com.ti.ccstudio.tms470.feature.group \-uninstallIU com.ti.ccstudio.cloudagent.linux.feature.group \-uninstallIU com.ti.ccstudio.msp430.feature.group com.ti.ccstudio.usersguide.feature.group com.ti.ccstudio.debugserver.linux.feature.group com.ti.ccstudio.nodejs.linux.feature.group com.ti.cgt.c2000.20.linux.feature.group com.ti.cgt.tms470.20.linux.feature.group \ -uninstallIU com.ti.chromium.browser.feature.group \ -uninstallIU com.ti.dvt.energytrace.feature.group \ -uninstallIU com.ti.dvt2.analysis.suite.feature.group \ -uninstallIU com.ti.dvt2.graph.visualization.feature.group \ -uninstallIU com.ti.dvt2.profileanalysismanager.feature.group \ -uninstallIU com.ti.dvt2.resource.explorer.feature.group \-uninstallIU com.ti.dvt2.rov.feature.group \-uninstallIU com.ti.dvt2.trace.ccs.feature.group com.ti.dvt2.via.ccs.feature.group com.ti.tirex4.feature.group \-uninstallIU com.ti.dvt2.trace.control.feature.group com.ti.tirex.feature.group \-uninstallIU com.ti.dvt2.uia.feature.group org.eclipse.cdt.debug.ui.memory.feature.group com.ti.emulation.pack.linux.feature.group gnu.io.rxtx.feature.group uninstallIU org.eclipse.egit.feature.group \ -uninstallIU org.eclipse.equinox.p2.user.ui.feature.group \ -uninstallIU org.eclipse.help.feature.group \ -uninstallIU org.eclipse.help.feature.group \ -uninstallIU org.eclipse.help.feature.group \ -uninstallIU org.eclipse.rtsc.xdctools.product.ui.feature.group \ -uninstallIU org.eclipse.rtsc.xdctools.product_3.61.2.27.feature.group \-uninstallIU org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group com.ti.ccstudio.installer.linux64.feature.group com.ti.ccstudio.base.feature.group \-uninstallIU com.ti.c2800.flash.feature.group com.ti.cgt.dmed.linux.feature.group com.ti.ccstudio.launcher.linux.feature.group \-uninstallIU com.ti.c2000.support.linux.feature.group com.ti.dsflash.linux.feature.group com.ti.ccstudio.p2tool.feature.group -uninstallIU \ -uninstallIU com.ti.ccstudio.sysconfig.feature.group \ -uninstallIU com.ti.ccstudio.targetdb.props.default.linux.feature.group \ -uninstallIU com.ti.ccstudio.utils.cli.linux.feature.group \ -uninstallIU com.ti.ccstudio.workflow.feature.group \ -uninstallIU com.ti.ccstudio.p2appf.feature.group \ -uninstallIU org.eclipse.cdt.feature.group \ -uninstallIU org.eclipse.cdt.launch.remote.feature.group org.eclipse.epp.mpc.feature.group org.eclipse.gef.feature.group org.eclipse.rse.feature.group \-uninstallIU org.eclipse.equinox.p2.discovery.feature.feature.group \-uninstallIU org.eclipse.gmf.runtime.thirdparty.feature.group org.eclipse.tm.terminal.feature.feature.group org.eclipse.equinox.p2.user.ui.feature.group \-uninstallIU org.eclipse.help.feature.group org.eclipse.cdt.build.crossgcc.feature.group com.ti.targetcontent.feature.group \ -uninstallIU org.eclipse.help.feature.group \ -uninstallIU org.eclipse.equinox.p2.user.ui.feature.group \ -uninstallIU com.ti.gc.backplane.feature.group \ -uninstallIU com.ti.gc.pm.feature.group \ -uninstallIU com.ti.debug.server.feature.group \ -uninstallIU com.ti.tools.common.feature.group \ /ti/ccs1000/ccs/eclipse/eclipse -application org.eclipse.equinox.p2.garbageclector.application -profile epp.package.cpp #/ti/ccs1000/ccs/eclipse/eclipse -application.ecloose.equinox.p2.director - then then then secrurl 文件删除#stalls 要摆脱 这种情况,需要花费大量的时间。/ti/ccs1000/ccs/eclipse/ccstudio rm -rf /ti/ccs1000/xdctools rm -rf /ti/ccs1000/ccs/uninstal rm -rf /ti/ccs1000/ccs/tirex rm -rf /ti/ccs1000/ccs/install_ rm -rf /ti/ccs1000/ccs/.install rm -rf /ti/ccs1000/ccs/doc rm -rf /ti/ccs1000/ccs/utils/sysconfig rm -rf /ti/ccs1000/ccs/utils/bin/make-4.1.tar.bz2 rm -rf /ti/ccs1000/ccs/utils/tiobj2bin rm -rf /ti/ccs1000/ccs/tools/node rm -rf /ti/ccs1000/ccs/ccs_base/emulation rm -rf /ti/ccs1000/ccs/ccs_base/cloudagent # 保持3个组、因此请移-复制-删除 MV /ti/ccs1000/ccs/ccs_base/DebugServer/bin /ti/ccs1000/ccs/ccs_base/DebugServer/bin2 mkdir /ti/ccs1000/ccs/ccs_base/DebugServer/bin cp /ti/ccs1000/ccs/ccs_base/DebugServer/bin2/libti_xpcom.so /ti/ccs1000/ccs/ccs_base/DebugServer/bin cp /ti/ccs1000/ccs/ccs_base/DebugServer/bin2/libXPCOMUtility.so /ti/ccs1000/ccs/ccs_base/DebugServer/bin cp /ti/ccs1000/ccs/ccs_base/DebugServer/bin2/libDirectoryService.so /ti/ccs1000/ccs/ccs_base/DebugServer/bin rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/bin2 rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/propertyDB rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/drivers rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/CacheInfo rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/scripts rm -rf /ti/ccs1000/ccs/ccs_base/DebugServer/schemas rm -rf /ti/ccs1000/ccs/ccs_base/common/uscif .tar.gz rm -rf /ti/ccs1000/ccs/ccs_base/common/targetdb/Modules/ihwa rm /ti/ccs1000/ccs/ccs_base/common/bin rm rm rm /ti/ccs1000/ccs/ccs_base/common/bin/libxerces-c rm rm rm rm rm /ti/ccs1000/ccs/ccs_base/common/bin/libsetup_parser.so rm -rf /ti/ccs1000/ccs/ccs_base/common/install rm -rf /ti/ccs1000/ccs/ccs_base/common/analysis rm -rf /ti/ccs1000/ccs/ccs_base/common/IDE rm -rf /ti/ccs1000/ccs/ccs_base/dvt rm -rf /ti/ccs1000/ccs/ccs_base/c2000 rm -rf /ti/ccs1000/ccs/ccs_base/tiva rm -rf /ti/ccs1000/ccs/ccs_base/scripting /ti/ccs1000/ccs/ccs_base/eclipse rm -rf /ti/ccs1000/ccs/ccs_base/doc rm -rf /ti/ccs1000/ccs/ccs_base/arm #这个不占用任何显著空间它更像是.desktop 文件的讽刺 在此 CLI 中、世界 rm "ccs1000/Code Composer Studio 10.1.0.desktop"
您好 Martin、
我假设您希望使用 CCS 工程(而不是完全基于 makefile 的系统)、并且需要能够使用无头工程命令来编译 CCS 工程。 您是否还对调试感兴趣(通过 DSS)? 还是仅限于构建环境?
谢谢
Ki
是的、我使用的是 CCS 工程、它们未定义 makefile。 我对 makefile 文件的引用是关于开始编译时会发生什么情况:CCS、CCS 将在项目文件中读取配置、生成一些 makefile 文件、并调用 make、 在 GUI 版本中、它还将捕获并解析来自 make/compiler 命令的输出、从而为您提供警告列表 a.s.o。
以使其更加清晰
我有两种设置、
在我的构建流水线中、我调用两个命令。
感谢您的澄清。
我已就此提出了一项改进请求。 跟踪链接: https://sir.ext.ti.com/jira/browse/EXT_EP-10259
谢谢
Ki