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.

[参考译文] 系统工程编译工程时出错

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1164009/system-projects-errors-on-building-the-projects

Thread 中讨论的其他器件:SysConfigMSP432P401R

尊敬的所有人:

我们正在尝试编译和调试基于 Sitara AM263 MCU 的多核项目。 为此、我们创建了一个系统工程、并根据发生的情况配置 system.xml 文件。

问题 是  、当我们尝试构建系统工程时、如果至少有一个工程未更新、则会在该工程上出现错误。  

这2个项目的名称是 F088GN-A-B1和 F088GN-A-B2。

在第一个项目 F088GN-A-B1的控制台窗口中 、我们有以下输出:

****项目 F088GN-B-A1的配置调试构建****

"C:\\ti\\ccs1210\\ccs\\utils\\bin\\gmake"-k -j 8 all -O

构建文件:"../F088GN-B-A1.syscfg"
调用:SysConfig
"C:/ti/ccs1210/ccs/utils/sysconfig_1.14.0/sysconfig_cli.bat "-s "C:/ti/mcu_plus_sdk_am263x_08_04_00_17/.metadata/product.json "--script "C:/FirmwareWorks/F088GN-B-A2/F088GN-B-A2.syscfg "--context "r5fss0-0"-script "C:/FirmwareWorks/F088GN-B-A1/F088GN-B-A1.syscfg "-context "r5fss0-0"-o "C:/FirmwareWorks/F088GN-B-A1/syscfg "-part AM263x -package ZCZ -compiler ticlang

用法:
CLI [-o

][-s ][-u ][-b. ][-d. ][-p ][-r. ][-treatWarningsAsErrors][-quiet -q]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gianni、

    根据 AM263x MCU+ SDK 下载页面、08.04.00.17的 CCS 版本为 CCS 12.0.0、SysConfig 为1.13.0。

    您能否尝试正确的 CCS 和 SysConfig 版本?

    此致、

    Ming

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

    您好、Ming、

    非常感谢您的快速回答。

    我执行了您的建议、但我遇到的问题与您在下面看到的问题相同:

    ****项目 F088GN-B-A1的配置调试构建****

    "C:\\ti\\ccs1200\\ccs\\utils\bin\\gmake"-k -j 8 all -O

    构建文件:"../F088GN-B-A1.syscfg"
    调用:SysConfig
    "C:/ti/ccs1200/ccs/utils/sysconfig_1.13.0/sysconfig_cli.bat "-s "C:/ti/mcu_plus_sdk_am263x_08_04_00_17/.metadata/product.json "--script "C:/Progetti/SITARA/Software/F088GN-B-A2/F088GN-B-A2.syscfg "--context "r5fss0-0"-script "C:/Progetti/SITARA/Software/F088GN-B-A1/F088GN-B-A1.syscfg "-context "r5fss0-0"-o "C:/Progetti/SITARA/Software/F088GN-B-A1/syscfg "-part AM263x -package ZCZ -compiler ticlang

    用法:
    CLI [-o

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

    您好、Gianni、

    如果不查看您的系统项目和*。syscfg 文件、我们很难确定问题所在。

    我为 AM263x 安装了 MCU+ SDK 08.04.00.17。 导入 了 IPC_NOTIFY_ECHO_AM263x-cc_system_freertos_nortos、并使用 CCS 12.0.0和 SysConfig 1.13.0成功构建。 这是屏幕截图。 您可能需要在设置上尝试相同的操作。 如果它构建正常、则您的系统设置正常。 您可能需要尝试的下一项操作是将您的系统项目与 IPC_NOTIFY_ECHOAC_AM263x-cc_system_freertos_NOTOS 和  F088GN-B-A1.syscfg 和 F088GN-B-A2.syscfg 文件与 IPC 通知示例中的 example.syscfg 文件进行比较。

    此致、

    Ming

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

    您好、Ming、

    感谢您的回复。

    附件您将找到您请求的文件:

    e2e.ti.com/.../system.xml

    与 F088GN-B-A1 项目相关的 syscfg 是:

    /**
    *生成此文件时使用了这些参数。 它们将自动应用于后续加载
    *通过 GUI 或 CLI。 使用'--help'运行 CLI 以获取有关如何覆盖这些参数的其他信息。
    *@clipArgs -器件"AM263x_beta"-封装"ZCZ -器件"AM263x"-上下文"r5fss0-0"-产品"MCU_PLUS_SDK_AM263x@08.04.00
    *@版本{"tool":"1.13.0+2553"}
    *

    /**
    *导入此配置中使用的模块。
    *
    const flash = scripting.AddModule ("/board/flash/flash、{}、false);
    const flash1 = flash.addInstance();
    const led = scripting.AddModule ("/board/led/led、{}、false);
    const LED1 = led.addInstance();
    const GPIO = scripting.AddModule ("/drivers/gpio/gpio、{}、false);
    const GPIO1 = GPIO.addInstance();
    const IPC = scripting.AddModule ("/drivers/ipc/ipc);
    const mcan = scripting.AddModule ("/drivers/mcan/mcan、{}、false);
    const mcan1 = mcan.addInstance();
    const mcan2=mcan.addInstance();
    const clock = scripting.AddModule ("/kernel/dpl/clock);
    const debug_log = scripting.AddModule ("/kernel/dpl/debug_log);
    const MPU_armv7 = scripting.AddModule ("/kernel/dpl/mpu_armv7、{}、false);
    const MPU_armv71 = MPU_armv7.addInstance();
    const MPU_armv72 = MPU_armv7.addInstance();
    const MPU_armv73 = MPU_armv7.addInstance();
    const MPU_armv74 = MPU_armv7.addInstance();
    const MPU_armv75 = MPU_armv7.addInstance();
    const MPU_armv76 = MPU_armv7.addInstance();
    const MPU_armv77 = MPU_armv7.addInstance();

    /**
    *将自定义配置值写入导入的模块。
    *
    flash1.$name ="CONFIG_FLASH0";
    flash1.peripheralDriver。$name ="CONFIG_QSPI0";

    LED1.$name ="BINK_LED";

    const EDMA = scripting.AddModule ("/drivers/edma/edma、{}、false);
    const edma1 = edma.addInstance({},false );
    edma1.$name ="CONFIG_EDMA0";
    flash1.peripheralDriver.edmaConfig = edma1;
    edma1.edmaRmDmaCh[0]。$name ="CONFIG_EDMA_RM0";
    edma1.edmaRmQdmaCh[0]。$name ="CONFIG_EDMA_RM1";
    edma1.edmaRmTcc[0]。$name ="CONFIG_EDMA_RM2";
    edma1.edmaRmParam[0]。$name ="CONFIG_EDMA_RM3";

    LED1.peripheralDriver = GPIO1;
    GPIO1.pinDir ="输出";
    GPIO1.$name ="CONFIG_BINK_LED";
    GPIO1.GPIO.gpioPin。$assign ="焊球.R3";

    ipc.r5fss0_1 ="无";
    ipc.r5fs1_1 ="无";
    ipc.vringMsgSize = 512;

    mcan1.$name ="CONFIG_MCAN1";
    mcan1.MCAN.$assign ="MCAN1";

    mcan2.$name ="CONFIG_MCAN0";

    debug_log.enable-CssLog = false;
    debug_log.enableUartLog = true;
    debug_log.uartLog.$name ="CONFIG_UART0";
    debug_log.uartLog.readMode ="回调";
    debug_log.uartLog.readCallbackFxn ="UartReadCallback";
    debug_log.uartLog.rxTrigLevel ="1";
    debug_log.uartLog.txTrigLevel ="1";
    debug_log.uartLog.intrPriority = 15;
    debug_log.uartLog.uart.uart.uart.$assign ="UART0";
    debug_log.uartLog.UART.RXD.$assign ="ball.A7";
    debug_log.uartLog.UART.TXD.$assign ="sube.a6";

    MPU_armv71.$name ="CONFIG_MPU_REGION0";
    MPU_armv71.size = 31;
    MPU_armv71.accessPermissions ="Supervisor RD+WR、User RD";
    mpu_armv71.allowExecute = false;
    mpu_armv71.attributes ="设备";

    MPU_armv72。$name ="CONFIG_MPU_REGION1";
    MPU_armv72.size = 15;
    MPU_armv72.accessPermissions ="Supervisor RD+WR、User RD";

    MPU_armv73。$name ="CONFIG_MPU_Region2";
    MPU_armv73.baseAddr = 0x80000;
    MPU_armv73.size = 15;
    MPU_armv73.accessPermissions ="Supervisor RD+WR、User RD";

    MPU_armv74.$name ="CONFIG_MPU_Region3";
    MPU_armv74.size = 21;
    MPU_armv74.baseAddr = 0x70000000;
    MPU_armv74.accessPermissions ="Supervisor RD+WR、User RD";

    MPU_armv75.$name ="CONFIG_MPU_REGION4";
    MPU_armv75.baseAddr = 0x50D00000;
    MPU_armv75.size = 14;
    mpu_armv75.allowExecute = false;
    mpu_armv75.attributes ="设备";

    MPU_armv76。$name ="CONFIG_MPU_REGION5";
    mpu_armv76.attributes ="未缓存";
    mpu_armv76.allowExecute = false;
    MPU_armv76.baseAddr = 0x72000000;
    mpu_armv76.size = 14;

    MPU_armv77.$name ="CONFIG_MPU_REGION6";
    MPU_armv77.baseAddr = 0x701D0000;
    MPU_armv77.size = 15;
    mpu_armv77.allowExecute = false;
    mpu_armv77.attributes ="未缓存";

    /**
    *用于解锁引脚/外设的 Pinmux 解决方案。 这可确保将来对自动解算器进行细微更改
    *该工具的版本不会影响您最初看到的引脚多路复用器。 可以完全删除这些行、以便
    *从头开始重新解决。
    *
    flash1.peripheralDriver.QSPI.$建议解决方案="QSPI";
    flash1.peripheralDriver.QSPI.QSPI_D0.$建议解决方案="ball.N1";
    flash1.peripheralDriver.QSPI.QSPI_D1.$ProbestSolution ="ball .N4";
    flash1.peripheralDriver.QSPI.QSPI_D2.$建议解决方案="ball .M4";
    flash1.peripheralDriver.QSPI.QSPI_D3.$ProbestSolution ="ball .p3";
    flash1.peripheralDriver.QSPI.QSPI_CLK。$ProbestSolution ="ball.N2";
    flash1.peripheralDriver.QSPI.QSPI_CSn0.$建议解决方案="ball .p1";
    GPIO1.GPIO.$建议解决方案="GPIO0";
    mcan1.mcan.rx.$inesestSolution ="ball .L2";
    mcan1.mcan.tx.$sevitestSolution ="ball.k1";
    mcan2.mcan.$inesestSolution ="MCAN0";
    mcan2.mcan.rx.$inesestSolution ="ball.m1";
    mcan2.mcan.tx.$sevitestSolution ="ball .l1";

    与 F088GN-B-A2 项目相关的 syscfg 是:

     

    /**
    *生成此文件时使用了这些参数。 它们将自动应用于后续加载
    *通过 GUI 或 CLI。 使用'--help'运行 CLI 以获取有关如何覆盖这些参数的其他信息。
    *@clipArgs -器件"AM263x_beta"-封装"ZCZ -器件"AM263x"-上下文"r5fs1-0"-产品"MCU_PLUS_SDK_AM263x@08.04.00
    *@版本{"tool":"1.13.0+2553"}
    *

    /**
    *导入此配置中使用的模块。
    *
    const led = scripting.AddModule ("/board/led/led、{}、false);
    const LED1 = led.addInstance();
    const GPIO = scripting.AddModule ("/drivers/gpio/gpio、{}、false);
    const GPIO1 = GPIO.addInstance();
    const IPC = scripting.AddModule ("/drivers/ipc/ipc);
    const clock = scripting.AddModule ("/kernel/dpl/clock);
    const debug_log = scripting.AddModule ("/kernel/dpl/debug_log);
    const MPU_armv7 = scripting.AddModule ("/kernel/dpl/mpu_armv7、{}、false);
    const MPU_armv71 = MPU_armv7.addInstance();
    const MPU_armv72 = MPU_armv7.addInstance();
    const MPU_armv73 = MPU_armv7.addInstance();
    const MPU_armv74 = MPU_armv7.addInstance();
    const MPU_armv75 = MPU_armv7.addInstance();
    const MPU_armv76 = MPU_armv7.addInstance();
    const MPU_armv77 = MPU_armv7.addInstance();

    /**
    *将自定义配置值写入导入的模块。
    *
    LED1.$name ="BINK_LED";

    LED1.peripheralDriver = GPIO1;
    GPIO1.pinDir ="输出";
    GPIO1.$name ="CONFIG_BINK_LED";
    GPIO1.GPIO.gpioPin。$assign ="焊球.A8";

    ipc.r5fss0_1 ="无";
    ipc.r5fs1_1 ="无";
    ipc.vringMsgSize = 512;

    debug_log.enableSharedMemLog = true;

    MPU_armv71.$name ="CONFIG_MPU_REGION0";
    MPU_armv71.size = 31;
    MPU_armv71.accessPermissions ="Supervisor RD+WR、User RD";
    mpu_armv71.allowExecute = false;
    mpu_armv71.attributes ="设备";

    MPU_armv72。$name ="CONFIG_MPU_REGION1";
    MPU_armv72.size = 15;
    MPU_armv72.accessPermissions ="Supervisor RD+WR、User RD";

    MPU_armv73。$name ="CONFIG_MPU_Region2";
    MPU_armv73.baseAddr = 0x80000;
    MPU_armv73.size = 15;
    MPU_armv73.accessPermissions ="Supervisor RD+WR、User RD";

    MPU_armv74.$name ="CONFIG_MPU_Region3";
    MPU_armv74.accessPermissions ="Supervisor RD+WR、User RD";
    MPU_armv74.baseAddr = 0x70000000;
    MPU_armv74.size = 21;

    MPU_armv75.$name ="CONFIG_MPU_REGION4";
    MPU_armv75.baseAddr = 0x50D00000;
    MPU_armv75.size = 14;
    mpu_armv75.attributes ="设备";
    mpu_armv75.allowExecute = false;

    MPU_armv76。$name ="CONFIG_MPU_REGION5";
    MPU_armv76.baseAddr = 0x72000000;
    mpu_armv76.size = 14;
    mpu_armv76.allowExecute = false;
    mpu_armv76.attributes ="未缓存";

    MPU_armv77.$name ="CONFIG_MPU_REGION6";
    MPU_armv77.baseAddr = 0x701D0000;
    MPU_armv77.size = 15;
    mpu_armv77.attributes ="未缓存";
    mpu_armv77.allowExecute = false;

    /**
    *用于解锁引脚/外设的 Pinmux 解决方案。 这可确保将来对自动解算器进行细微更改
    *该工具的版本不会影响您最初看到的引脚多路复用器。 可以完全删除这些行、以便
    *从头开始重新解决。
    *
    GPIO1.GPIO.$建议解决方案="GPIO0";

    我们尝试按照您的建议导入示例、它们工作正常 、但我们的项目不工作。

    您还有其他建议吗?

    正在等待您的回复

    谢谢

    此致

    Gianni Perugini

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

    您好、Gianni、

    我注意到 IPC 通知中的 system.xml 与您发送的不同。 "内核 id"是"MAIN_Pulsar_Cortex_R5_0_0"。 您的是"Cortex_R5_0"。

    您的 system.xml 来自哪里?

    此致、

    Ming  

    ------------------------------------------



















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

    您好、Ming、

    我们的 system.xml 是从 CCS IDE 生成的。

    您还有其他建议吗?

    正在等待您的回复

    谢谢

    此致

    Gianni Perugini

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

    您好、Ming、

    最后我解决了这个问题。

    当我打开此线程时、在我的项目中有  F088GN-B-A1.syscfg 和 F088GN-B-A2.syscfg 文件。 在 F088GN-B-A2.syscfg 中、在-context 之后有一个错误的内核 r5fss0-0 (与 F088GN-B-A1 syscfg 上的内核相同)。 昨天、我看到了这个问题、我尝试修复 syscfg 文件中的条目、但没有发生任何情况。

    因此、我决定使用 SYSCFG 工具重新生成2个新的 syscfg 文件、并为这两个项目调用 syscfg.syscfg。。。 但是、即使这次我没有解决可能存在的问题。

    今天上午、我关闭了所有项目、删除了 syscfg 文件、然后恢复了旧 的 F088GN-B-A1.syscfg 和 F088GN-B-A2.syscfg 文件(具有正确 的 r5fss0-0 和 r5fs1-0内核)。 我已重新启动项目、并且... 一切都很好!!!

    正如我之前回答的、无论我的 system.xml 内核 ID 是 Cortex_R5_0、都是如此。 该名称是由 CCS IDE 自动生成的。

    仅通知您、我仍在使用此版本:

    CCS 版本12.1

    MCU_PLUS_SDK_am263x_08_04_00_17

    SysConfig_1.14.0

    无论如何都谢谢

    此致

    Gianni Perugini

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

    您好、Gianni、

    根本原因是  F088GN-B-A2.syscfg 中的内核不正确(r5fs0-0 而不是 r5fs1-0)。

    很高兴看到此问题已得到解决。 感谢  您的坚持。

    您是否介意将此主题标记为"已解决"? 谢谢!

    此致、

    Ming