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:CCS 20.01似乎没有正确处理-ccs.buildLocation 中的路径

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1458678/codecomposer-ccs-20-01-does-not-seem-to-correctly-handle-path-in--ccs-buildlocation

器件型号:CODECOMPOSER
主题中讨论的其他器件:MSPM0G3519

工具与软件:

您好!

CCS 20.01.

使用这些 CLI 选项:

-ccs.autoGenerateMakefiles 错误
-ccs.outputType 可执行文件
-ccs.outputFormat ELF
-ccs.artifactExtension
-ccs.artifactName OOB_MSPM0G3519
-ccs.configurations_build
-ccs.defaultConfiguration _BUILD
-ccs.buildLocation "D":\ccs\OOB_MSPM0G3519\_BUILD\OOB_MSPM0G3519"
-ccs.buildCommand "D":\ccs\OOB_MSPM0G3519\_theia_workspace\build.bat"
-ccs.buildCommandFlags ""
-ccs.buildTarget OOB_MSPM0G3519

我希望 CCS   在开始调试会话时会在 D:\ccs\OOB_MSPM0G3519\_BUILD\OOB_MSPM0G3519文件夹中找到 OOB_MSPM0G3519.out 文件。  

但是、我会收到以下错误:

无法读取文件"OOB_MSPM0G3519/_BUILD/OOB_MSPM0G3519.OUT"(EntryNotFound (FileSystemError):错误:ENOENT:没有此类文件或目录、请打开"d:\ccs\OOB_MSPM0G3519_theia_workspace\OOB_MSPM0G3519_BUILD\OOB_BUILD\OOB_OUT0G3519.OUT")

错误消息中的路径没有什么意义。

我如何需要设置-ccs.buildLocation 才能使 CCS 识别它?

此致、

尤金

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

    尊敬的 Eugene:

    您能否共享用于创建项目的完整 CLI 命令?  

    谢谢

    Ki

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

    命令:

    "C:\ti\ccs2001\ccs\eclipse\ccs-server-cli.bat"-nofsplash -workspace "D:\ccs\OOB_MSPM0G3519\ccfg\debug\..\..\_theia_workspace"-application com.ti.ccs.apps.createProject -ccs.overwrite full -ccs.args "D:\ccs\the\OOB_debug\mspage_workspace"。

    其中 ccs.args:

    -ccs.name "OOB_MSPM0G3519"
    -ccs.device MSPM0G3519
    -ccs.endianness Little
    -ccs.ignoreDefaultDeviceSettings true
    -ccs.ignoreDefaultCCSSettings true
    -ccs.toolchain TICLANG
    -CCS.toolVersion TICLANG_EN_4.0.1.LTS
    -ccs.linkFile "D:/CCS/OoB_MSPM0G3519/_build @dir "_build"
    -ccs.linkFile "D":/CCS/OoB_MSPM0G3519 src /应用"@目录"App"
    -ccs.linkFile "D":/CCS/OoB_MSPM0G3519 src / MSP_GUI"@dir"MSP_GUI"
    -ccs.autoGenerateMakefiles 错误
    -ccs.outputType 可执行文件
    -ccs.outputFormat ELF
    -ccs.artifactExtension
    -ccs.artifactName OOB_MSPM0G3519
    -ccs.configurations_build
    -ccs.defaultConfiguration _BUILD
    -ccs.buildLocation "D":\ccs\OOB_MSPM0G3519\_BUILD\OOB_MSPM0G3519"
    -ccs.buildCommand "D":\ccs\OOB_MSPM0G3519\_theia_workspace\build.bat"
    -ccs.buildCommandFlags ""
    -ccs.buildTarget OOB_MSPM0G3519

    另一个想法是、我不确定为什么需要使用-ccs.buildCommand 设置工具选项? 即使它不控制编译、CCS 似乎也需要这些函数。

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

    谢谢、我将进一步调查。

    [报价 userid="636987" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1458678/codecomposer-ccs-20-01-does-not-seem-to-correctly-handle-path-in--ccs-buildlocation/5595773 #5595773"]另一个想法是、我不确定为什么需要使用-ccs.buildCommand 设置工具选项? 即使 CCS 不控制编译、它似乎也需要这些函数。[/QUOT]

    有趣的是、您正在使用此选项。 build.bat 所使用的构建实用程序是什么? 该选项用于替换 CCS 默认使用的 gmake 实用程序(以及您无法再通过 CCS 20中的 GUI 进行的操作)。  

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

    因此、该选项只会将 gmake 替换为另一个 make?

    这并不是什么问题、因为使用构建选项无法控制 CWD。

    创建 build.bat 是为了克服这种限制、以便通过正确的 CWD 运行 make。 期望 CCS 将使用 -ccs.buildLocation 加载正确的输出文件...、但这不起作用、因此这是这个帖子。

    尤金

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此、此选项只能用另一个 make?

    该选项用于指定在发出工程编译请求时要调用的命令。 通常、它用于替换用于编译生成 makefile 的 make 命令。 但是、对于所有具有 buildCommandFlags 和 buildTarget 集的东西、您调用一个*。bat 文件的用例在理论上应该可行。

    期望 CCS 将使用 -ccs.buildLocation 加载正确的文件...但这是无效的、因此是这篇文章。

    调试器可能默认为在工程文件夹中查找配置子文件夹、而不使用 buildLocation 路径(仅在工程编译时使用)。 我需要确认这一点

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

    "该选项用于指定在发出工程构建请求时要调用的命令。 通常、它用于替换用于编译生成 makefile 的 make 命令。 但您的用例调用一个*。bat 文件的所有与 buildCommandFlags 和 buildTarget 设置适当应该工作。"

    但事实并非如此。 CCS 自愿插入 -k -j 16 -O (CODECOMPOSER:替代构建实用程序选项-ccs.buildCommand 添加意外选项- Code Composer Studio 论坛- Code Composer Studio ︎- TI E2E 支持论坛)

    在没有选项的情况下、通常会执行默认操作。 为什么使用替代构建命令进行工程构建需要 -ccs.buildLocation? 我希望 -ccs.buildLocation 可用于调试器查找使用替代构建的文件。

    尤金

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

    如果使用了缺省构建命令标志、这一情况会发生。 如果指定将使用自定义命令标志并传入空字符串、则应该会清除标志(我最近尝试过此操作)。  

    您提到您正在使用以下标志:

    -ccs.buildCommandFlags ""

    这应该会清除标志。

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

    不是。 请参阅: CODECOMPOSER:替代构建实用程序选项-ccs.buildCommand 添加了意外的选项- Code Composer Studio 论坛- Code Composer Studio ︎- TI E2E 支持论坛

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

    您是对的。

    [报价 userid="2210" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1458678/codecomposer-ccs-20-01-does-not-seem-to-correctly-handle-path-in--ccs-buildlocation/5603408 #5603408"]

    您提到您正在使用以下标志:

    -ccs.buildCommandFlags ""

    这应该会清除标志。

    [报价]

    仅当使用 CCS Eclipse 进行构建时、才会发生这种情况。 您可以使用 CCS 20 CLI 创建工程并使用 CCS 12.x 编译工程将接受已清除的标志、但 CCS 20会忽略该标志并始终附加这些标志。 抱歉、我当时想到的是 CCS 12.x、因为它们都对我有用。  

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

    尊敬的 Ki:

    -ccs.buildCommandFlags 最终将被修复(我希望)。

    那么 -ccs.buildLocation 如何

    此致、

    尤金

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

    正确支持自定义编译命令应该会解析所有相关标志。