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.

[参考译文] TMS320F2800157-Q1:在 CCS 中生成和上传文件的问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1656433/tms320f2800157-q1-issue-of-file-generate-and-upload-in-ccs

器件型号: TMS320F2800157-Q1

尊敬的 exepts:

我们的客户在 CCS 中遇到以下问题

问题 1: 客户希望  编译后将生成的 CPU1_RAM 文件夹输出到目录.\40_Integration\CCSProject\

image.png

问题 2: 客户希望将圈出的文件放入目录.\40_Integration\CCSProject\中、但无法成功修改它。  

image.png

问题 3: 将代码推送/上载到服务器时是否还需要上载.theia 和.settings 文件夹?  

image.png

image.png

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

    嗨、Leo、

    我知道您正在寻求优化 Code Composer Studio (CCS) 工程结构、从而实现更好的集成和版本控制。 有关以下三个问题、请参阅我的技术指南:

    问题 1:将输出文件重定向到特定目录

    若要更改 CCS 放置构建工件的位置(例如文件,文件和其他生成的文件) .out .map 、您应该修改 工程属性中的 Build Output Directory 设置、而不是尝试移动源文件夹。

    1. 在 CCS 中、右键点击工程 (CPU1_RAM) 并选择 Properties。
    2. 导航至 C/C++ Build -> Settings。
    3. 找到 Build Artifact 选项卡(或根据您的 CCS 版本在 General settings 下查看)。
    4. 将 Build Artifact Directory (或“Output Directory“)更改为相对路径: ..\40_Integration\CCSProject\
      • 注意:请确保目录存在或 CCS 在编译过程中具有创建该目录的权限。

    问题 2:修改项目文件的文件位置

    您圈出的文件(,,).ccsproject .project .cproject是定义基于 Eclipse 的 CCS IDE 中的项目结构的基本元数据文件。

    • 约束: 通常 不能 将这些文件移出项目根目录。 CCS 期望这些文件与工程的主配置驻留在同一文件夹中、以正确映射工作区层次结构。
    • 解决方案: 如果您的目标是保持工作区“干净“以进行集成、则标准做法是将项目根作为这些文件的容器、并使用 Build Output Directory (如问题 1 中所述)将所有“繁重“或“生成“的文件重定向到您的 40_Integration 文件夹中。 这将使源代码和构建工件保持分离、同时保持 IDE 正常工作。

    问题 3: .theia .settings 将文件夹上载到服务器

    将代码推送到服务器(例如 Git、SVN)时、应该区分 源代码 和 本地环境配置。

    • .settings 文件夹: 包含用户特定的工作区首选项和本地 IDE 配置。 通常建议不要上传此文件夹。 如果另一位工程师提取您的代码、他们的本地 CCS 环境可能会与您的代码相冲突、从而导致“虚假“错误或意外行为。
    • .theia 文件夹: 这特定于基于 CCS Theia 的新编辑器。 与 .settings 文件夹一样、这是特定于环境的。
    • 应上载的内容: 您必须确保 .project .cproject .ccsproject 上载、和、因为其他用户将项目导入自己的 CCS 实例需要这些。

    版本控制 (Git/SVN) 的摘要建议:

    • 包括: Src Inc、、 GenCode、 ManCode Config、 .project .cproject .ccsproject和任何自定义链接器命令文件 ().cmd。
    • 排除(通过.gitignore): Debug/、 Release/、 .settings/、 .theia/和任何其他本地构建工件。

    我希望这澄清了您的工作流程。 如果您还有其他问题、敬请告知。

    此致、

    Zackary Fleenor

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

    尊敬的 Fleenor:

    我找不到您提到的设置。 请提供您提到的设置的一些快捷方式吗?

    谢谢  

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

    嗨、Leo、

    对上一次答复中的间接表示歉意。


    问题 1:重定向编译输出文件
    Directory 说明符面板(Build→Tools→C2000 Compiler→Advanced Options→Directory 说明符)控制编译器中间文件的放置位置。 要将它们重定向到目标目录、请单击每个相关字段旁边的文件夹图标、然后输入相对路径:
    ../../40_Integration/CCSProject/
    可用字段及其相应的标志为:
    • 目标文件目录 (--obj_directory)
    • listing/xref 文件目录 (--list_directory)
    • 汇编文件目录 (--asm_directory)
    • 预处理器文件目录 (--pp_directory)
    • 临时文件目录 (--temp_directory)
    重要事项:始终使用相对路径而不是绝对路径来确保项目在不同的计算机和用户之间保持可移植性。
    对于最终编译输出文件夹 (CPU1_RAM) 本身、这是在链接器级别控制的、而不是在编译器级别控制的。 要进行更改、请导航至“Build“→“Tools“→“C2000 Linker“、并在“File Search Path“下查找--output_file 标志。 或者、可以通过右键点击工程并选择 Manage Build Configurations、或直接在.projectspec 文件中编辑 outputDirectory 属性来更改编译配置输出目录。

    问题 2:移动.ccsproject、.project 和.cproject 文件
    这些文件不能从工程根目录进行重定位。 这是 CCS Theia 中的硬框架约束、不能通过任何工程设置覆盖。 建议的方法是将这些文件保留在工程根目录中、并使用上述 Directory 说明符设置将所有生成和编译的工件重定向到 40_Integration 文件夹、从而使源代码和构建输出完全分开。

    问题 3:将.theia 和.settings 上载到服务器
    按版本控制时、遵循以下准则:
    要包括的文件:
    • .project、.cproject、.ccsproject
    • 所有源文件 (.c、.h、.cmd)
    要排除的文件:
    • .settings/—包含本地、用户特定的 IDE 首选项、这些首选项可能会在用户之间发生冲突
    • .theia/—包含特定于每个用户环境的本地 Theia 编辑器配置
    • CPU1_RAM/-生成的构建工件、应始终在本地重建
    对于 Git 用户,请在.gitignore 文件中添加以下内容:
    .settings/
    .theia/
    CPU1_RAM/
    Debug/
    Release/
    *.out
    *.map

    如果您需要进一步说明上述任何步骤、请告诉我。
    此致、
    Zackary Fleenor