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.

[参考译文] TMS320F28P550SJ:CCS 编译错误"无效参数'-s':文件"C:\.metadata\sdk.json"导入同一个工程后不存在&quot

Guru**** 2422790 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1534046/tms320f28p550sj-ccs-compile-error-invalid-argument--s-file-c-metadata-sdk-json-does-not-exist-after-importing-the-same-project

器件型号:TMS320F28P550SJ
Thread 中讨论的其他器件:SysConfigC2000WARETMP127

工具/软件:

我将 CCS 12.7 工程保存在本地目录“ C:\Users\Xiaoquan\Documents\JX_CCS_git\JX_QS2_CCS127gitRepository\QS2“中。  一切都正常。 所用的命令(从 CCS 12.7 控制台复制、我把它称为“old CCS 12.7“)在编译时位于以下位置:

======================

构建文件:“../epwm_ex1_trip_zone.syscfg"</s>“

调用:sysconfig

“C:/ti/ccs1270/ccs/utils/sysconfig_1.20.0/sysconfig_cli.bat --script “C:/Users/Xiaoquan/Documents/JX_CCS_git/JX_QS2_CCS127gitRepository/QS2/epwm_ex1_trip_zone.syscfg -o “syscfg"-s“-s “C:/ti/c2000/C2000Ware_5_02_00_00/.metadata/sdk.json -d “F28P55x"--package“--package 128PDT --部分 F28P55x_128PDT --编译器 CCS

正在运行脚本...

======================

然后在同一台计算机上启动了一个新的 CCS 12.7、并在 “ C:\Users\Xiaoquan\Documents\workspace_cs\workspace_tmp127 “处选择了一个空/全新的工作区   、然后从“ C:\Users\Xiaoquan\Documents\JX_CCS_git\JX_QS2_CCS127gitReposit\QS2“中导入了同一个项目。  但在这个新的 CCS 12.7 上、编译失败、并出现以下错误:

======================

****为项目 QS2 构建配置 CPU1_FLASH ****

“C:\\ti\\ccs1270\\ccs\\utils\\bin\\gmake“-k -j 16 all -O

构建文件:“../epwm_ex1_trip_zone.syscfg"</s>“
调用:sysconfig
“C:/ti/ccs1270/ccs/utils/sysconfig_1.20.0/sysconfig_cli.bat “-脚本“C:/Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/epwm_ex1_trip_zone.syscfg “-o “syscfg"-s“-s “/.metadata/sdk.json -d “F28P55x"-“--封装 128PDT — 部分 F28P55x_128PDT --编译器 CCS
subdir_rules.mk:23:目标'build-785151345'的配方失败
无效参数'-s':文件“C:\.metadata\sdk.json“不存在
gmake:***[BUILD-785151345]错误 1.
gmake:由于错误、目标“全部“未重制。

****构建完成****

======================

它与导入“new CCS 12.7“的工程完全相同。  为什么在“旧 CCS 12.7“中使用该命令   “SYSCFG" -s“-s “C:/ti/c2000/C2000Ware_5_02_00_00/.metadata/sdk.json  “、  

但是、  “new CCS 12.7“中的““syscfg"-s“-s “/.metadata/sdk.json “会导致编译错误吗? 请建议如何修复它。  谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“449244" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1534046/tms320f28p550sj-ccs-compile-error-invalid-argument--s-file-c-metadata-sdk-json-does-not-exist-after-importing-the-same-project

    它与导入“new CCS 12.7“的工程完全相同。  为什么在“旧 CCS 12.7“中使用该命令   “SYSCFG" -s“-s “C:/ti/c2000/C2000Ware_5_02_00_00/.metadata/sdk.json  “、  

    但是、  “new CCS 12.7“中的““syscfg"-s“-s “/.metadata/sdk.json “会导致编译错误吗? 请建议如何修复它。  谢谢!

    [/报价]

    尊敬的 Quentin:

    在不同工作区之间导入工程时、问题似乎与 sysconfig sdk.json 路径配置有关。 以下是正在发生的事情以及如何解决它:

    1. 在原始工作设置(“旧 CCS 12.7“)中、sdk.json 路径正确指向:
    • C:/ti/c2000/C2000Ware_5_02_00_00/.metadata/sdk.json
    1. 在新工作区中、路径被错误地设置为仅:
      1. /.metadata/sdk.json
    2. 要解决此问题、您需要:
      1. 右键点击工程并选择 Properties
      2. 转到“依赖关系“  
        1. 确保在新工程中将 C2000WARE 作为产品依赖项
        2. 如果执行了该操作、但仍然收到错误、请执行以下步骤 (c)
      3. 转到“Build"->"SysConfig"</s>“ ““
      4. 点击“Edit Flags...“
      5. 您应该会看到 SysConfig 选项。 通过以下方式确保 SDK.json 路径包含完整的 C2000Ware 路径:
        1. 添加变量${C2000WARE_ROOT}/.metadata/sdk.json
        2. 使用 C2000Ware 安装的绝对路径
    3. 如果未定义 C2000WARE_ROOT 变量、您将需要:
      1. 转到“Project Properties“->"Build"->"Variables"</s>“ “““
      2. 点击“Add..."</s>“
      3. 创建一个名为“C2000WARE_ROOT"的“的新变量
      4. 将其值设置为 C2000Ware 安装路径(例如,“C:/ti/c2000/C2000Ware_5_02_00_00)
    4. 如果这些步骤仍然不起作用、请使用最新的 CCS、因为我能够验证变量应该被正确复制。

    出现不同行为的原因是、将工程导入到新的工作区时、CCS 有时无法正确携带所有环境变量和路径。 原始工作区具有正确的 C2000Ware 路径配置、而新工作区尝试在根目录中查找 SDK.json。 我已经使用最新的 CCS 验证了相同的步骤、没有看到此问题、您也可以尝试将 CCS 升级到新的 CCS20.2。

    此致、

    Ryan Ma

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

    您好、Ryan、

    非常感谢您的详细阐述!

    我听从了您的建议并安装了最新的 CCS20.2、但导入同一个工程后、编译失败、还出现了一系列错误、例如:

    ===========

    [57]“C:/ti/ccs2020/ccs/tools/compiler/ti-cgt-c2000_22.6.2.LTS/bin/cl2000 syscfg“-v28 -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu1 -off--include_path=“C /Users/Xiaoquan/Documents/JX_CCS_git/JX_QS2_CCS127gitRepository/QS2/device:/Users/Xiaoquan/Documents/JX_CCS_git/JX_QS2_CCS127gitRepository/QS2 /ti/c2000/C2000Ware_5_02_00_00/driverlib/f28p55x/driverlib --include_path=“C:/ti/c2000/C2000Ware_5_02_00_00 /ti/ccs2020/ccs/tools/compiler/ti-cgt-c2000_22.6.2.LTS/include /Users/Xiaoquan/Documents/JX_CCS_git/JX_QS2_CCS127gitRepository/QS2/CPU1_RAM/syscfg
    [58]“..\QT2_AC_SIDE.h“、第 18 行:致命错误#1965:无法打开源文件“spll_1ph_Sogi.h"</s>“

    ===========

    所以我想我必须回到 CCS12.7、这是我之前成功的。 您是否需要提供一些屏幕截图来指导我完成修复问题所需的步骤?  例如、我不知道如何“转到依赖项“...  非常感谢您的帮助!

    下面是我的一些设置的屏幕截图:

    我想有些变量设置不正确?

    谢谢、

    Quentin

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

    当然、设置是我的“NEW CCS 12.7“设置。   我想有些变量设置不正确?

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

    此外、我不熟悉  CCS20.2;不确定如何使用;它似乎与 CCS 12.7 大不相同;  

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

    您好、Ryan、

    您认为我的一些变量设置不正确吗? 我遵循了您的以下建议:

    ========

    您应该会看到 SysConfig 选项。 通过以下方式确保 SDK.json 路径包含完整的 C2000Ware 路径:

    1. 使用 C2000Ware 安装的绝对路径:  “c:/ti/c2000/C2000Ware_5_02_00_00/.metadata/sdk.json

    =====

    但随后通信失败、并出现如下错误:

    ==================

    正在生成文件:“../ECU_INFC_Top.c"</s>“
    调用:C2000 编译器
    “c:/ti/ccs1270/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000 /libraries/math/CLAmath/c28/include /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/libraries/DCL /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/device /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/CPU1_FLASH/syscfg -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -O3 --fp_mode=relaxed /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/libraries/SPLL /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/libraries /Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2 /driverlib/f28p55x/driverlib /ti/ccs1270/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include

    >>编译失败
    subdir_rules.mk:9:目标'ECU_INFC_Top.obj'的配方失败
    “C:/Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/device/driverlib.h “、第 46 行:致命错误#1965:无法打开源文件“inc/hw_memmap.h"</s>“
    1 在编译“../ECU_INFC_Top.c"时“时检测到灾难性错误。
    编译已终止。
    gmake:***[ECU_INFC_TOP.OBJ]错误 1

    ==================

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "C:“:/Users/Xiaoquan/Documents/workspace_CCS/workspace_tmp127/QS2/device/driverlib.h “、第 46 行:致命错误#1965:无法打开源文件“inc/hw_memmap.h"
    </s>“

    尊敬的 Quentin:

    打开“inc/hw_memmap.h"文件“文件时似乎存在问题。 您能否确保您的包含选项正确无误? 您能否提供编译器设置中的包含选项的屏幕截图?

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

    您好、Ryan、

    请参阅下面的这是我的“new CCS 12.7“的“包含选项“-编译失败:

    作为比较、 请参见下面的“旧 CCS 12.7“的“包含选项“、它可以正常运行:

    他们似乎是一样的。

    ============

    我只是希望实现一个简单的 goas 如下所述:

    1. 我将 CCS 12.7 工程保存在本地目录“ C:\Users\Xiaoquan\Documents\JX_CCS_git\JX_QS2_CCS127gitRepository\QS2“中。  一切都正常。  
    2. 在同一台计算机上、启动一个新的 CCS 12.7 并选择一个新的不同工作区 、然后导入上面的工程、并确保编译正常。

    实现这个简单目标的最佳方法是什么?

    谢谢、

    Quentin

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

    尊敬的 Quentin:

    这些变量应已结转。 12.7 中可能存在一些不允许的错误。

    我认为、实现这个目标的最佳方式是更新 CCS、然后尝试重新执行所概述的步骤。

    我已使用最新的 CCS 验证您的相同步骤、我没有看到此问题、您也可以尝试将 CCS 升级到新的 CCS20.2。

    否则、您必须仔细检查是否正确生成了包含选项。 您能否再次查看“产品“选项卡? 此外、请确保“C2000 Compiler“视图、所设置标志的摘要对您的工作目录有意义。  

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

    您好、Ryan、

    如前所述、我升级到了最新的 CCS20.2、但仍然遇到了一些编译错误。 TI FAE 的 Julia Li 还建议我与 CCS12.7 联系。  

    以下是我的产品选项卡和  C2000 Compiler 视图的屏幕截图:

    您看到了任何问题吗? 您能建议如何修复以便编译吗?

    谢谢、

    Quentin

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

    尊敬的 Quentin:

    其中一个 include 路径似乎不正确、即“/driverlib/f28p55x/driverlib “。 看起来它缺少 c2000ware 的绝对路径。 您能否更新此信息?

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

    您好、Ryan、

    谢谢您的提问。 请参阅以下内容:

    1.您能建议如何解决“driverlib 缺少  c2000ware 的绝对路径“问题吗? 请在下面查看我的屏幕截图、看起来可以:

    2.你刚才提到:

    ===========

    1. 在新工作区中、路径被错误地设置为仅:
      1. /.metadata/sdk.json
    2. 要解决此问题、您需要:
      1. 右键点击工程并选择 Properties
      2. 转到“依赖关系“  
        1. 确保在新工程中将 C2000WARE 作为产品依赖项
        2. 如果执行了该操作、但仍然收到错误、请执行以下步骤 (c)

    ===========

    您是否需要提供屏幕截图以显示如何“转到依赖项“? 我无法找到我的“依赖关系“、如下所示:

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

    尊敬的 Quentin:

    ${COM_TI_C2000WARE_software_package_install_DIR}未定义。 您能否尝试将 COM_TI_C2000WARE_INSTALL_DIR 的名称更改为  COM_TI_C2000WARE_software_package_install_DIR。

    [引述 userid=“449244" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1534046/tms320f28p550sj-ccs-compile-error-invalid-argument--s-file-c-metadata-sdk-json-does-not-exist-after-importing-the-same-project/5908023 #5908023“]

    您是否需要提供屏幕截图以显示如何“转到依赖项“? 我无法找到我的“依赖关系“、如下所示:

    [/报价]

    抱歉、这是 CCS20.2 或更高版本的问题。 对于 CCS12.8 或更早版本、您可以转到“常规->产品“

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

    非常感谢 Ryan!  问题似乎是  COM_TI_C2000WARE_INSTALL_DIR 的定义。 更改后更改

    至下方:

    然后可以编译。 非常感谢!

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

    尊敬的 Quentin:

    我们将此标记为已解决。

    此致、

    Ryan Ma