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.

[参考译文] AWR2944:未知编译器错误

Guru**** 2575095 points
Other Parts Discussed in Thread: SYSCONFIG, MATHLIB, AWR2944, AWR2544

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1572193/awr2944-unknown-compiler-error

器件型号:AWR2944
主题中讨论的其他器件:SysconfigMATHLIBAWR2544

工具/软件:

您好、

我的 SDK 是 mmwave_mcuplus_sdk_04_07_01_04

其他环境如下所示:

MCU_PLUS_SDK_awr294x_10_01_00_04

CCs2030

SYSCONFIG_1.23.0

TI-CGT-armllvm_4.0.3.LTS

TI-CGT-C6000_8.5.0.LTS

MMWAVE_DFP_02_04_18_01

DSPLIB_c66x_3_4_0_0

mathlib_c66x_3_1_2_1

xdctools_3_62_01_16_core

请帮助检查错误消息的含义?

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

    您好:

    您正在尝试构建什么?

    这是在 windows 上吗?

    您是否在任何地方进行了任何编辑?

    我还建议先清理、然后再构建。 库似乎尚未更新。

    此致、

    Gabriel

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

    您好、

    我只是尝试 根据 DDM 类型构建 SDK mmwave_mcuplus_sdk_04_07_01_04。

    我的 syscfg 如下所示替换 mss.syscfg。

    运行环境是 Linux。

    每次构建之前、我都会进行清理。

    它似乎与以下 CPU 设置有关。

    因为编译器在相同环境中的结果是不同的。 C66 似乎优于 R5F。

    BRS、

    Bolong

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AWR294X" --package "ETS" --part "Default" --context "r5fss0-0" --product "MCU_PLUS_SDK_AWR2944@09.00.00"
     * @versions {"tool":"1.19.0+3426"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const flash      = scripting.addModule("/board/flash/flash", {}, false);
    const flash1     = flash.addInstance();
    const adcbuf     = scripting.addModule("/drivers/adcbuf/adcbuf", {}, false);
    const adcbuf1    = adcbuf.addInstance();
    const cbuff      = scripting.addModule("/drivers/cbuff/cbuff", {}, false);
    const cbuff1     = cbuff.addInstance();
    const crc        = scripting.addModule("/drivers/crc/crc", {}, false);
    const crc1       = crc.addInstance();
    const edma       = scripting.addModule("/drivers/edma/edma", {}, false);
    const edma1      = edma.addInstance();
    const edma2      = edma.addInstance();
    const gpio       = scripting.addModule("/drivers/gpio/gpio", {}, false);
    const gpio1      = gpio.addInstance();
    const gpio2      = gpio.addInstance();
    const ipc        = scripting.addModule("/drivers/ipc/ipc");
    const mcan       = scripting.addModule("/drivers/mcan/mcan");
    const mcan1      = mcan.addInstance();
    const mcan2      = mcan.addInstance();
    const uart       = scripting.addModule("/drivers/uart/uart", {}, false);
    const uart1      = uart.addInstance();
    const uart2      = uart.addInstance();
    const watchdog   = scripting.addModule("/drivers/watchdog/watchdog", {}, false);
    const watchdog1  = watchdog.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();
    const mpu_armv78 = mpu_armv7.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    flash1.$name                  = "CONFIG_FLASH0";
    /* bootloader1.flashDriver       = flash1; */
    flash1.flashManfId            = "0xC2";
    flash1.device                 = "CUSTOM_FLASH";
    flash1.fname                  = "MX25V1635F";
    flash1.flashDeviceId          = "0x2315";
    flash1.flashQeType            = "2";
    flash1.flashSize              = 2097152;
    flash1.peripheralDriver.$name = "CONFIG_QSPI0";
    
    adcbuf1.$name = "CONFIG_ADCBUF0";
    
    cbuff1.$name = "CONFIG_CBUFF0";
    
    crc1.$name = "CONFIG_CRC0";
    
    edma1.$name                             = "CONFIG_EDMA0";
    edma1.instance                          = "EDMA_DSS_B";
    edma1.regionId                          = 0;
    cbuff1.edmaConfig                       = edma1;
    edma1.edmaRmDmaCh[0].resourceType       = scripting.forceWrite("ownDmaCh");
    edma1.edmaRmDmaCh[0].$name              = "CONFIG_EDMA_RM0";
    edma1.edmaRmDmaCh[0].startIndex         = 0;
    edma1.edmaRmDmaCh[0].endIndex           = 63;
    edma1.edmaRmQdmaCh[0].$name             = "CONFIG_EDMA_RM1";
    edma1.edmaRmTcc[0].$name                = "CONFIG_EDMA_RM2";
    edma1.edmaRmTcc[0].startIndex           = 0;
    edma1.edmaRmTcc[0].endIndex             = 63;
    edma1.edmaRmParam[0].$name              = "CONFIG_EDMA_RM3";
    edma1.edmaRmParam[0].startIndex         = 0;
    edma1.edmaRmReservedDmaCh[0].$name      = "CONFIG_EDMA_RM4";
    edma1.edmaRmReservedDmaCh[0].startIndex = 0;
    edma1.edmaRmReservedDmaCh[0].endIndex   = 0;
    
    gpio1.$name                = "CONFIG_GPIO0";
    gpio1.pinDir               = "OUTPUT";
    gpio1.GPIO.$assign         = "GPIO";
    gpio1.GPIO.gpioPin.pu_pd   = "pu";
    gpio1.GPIO.gpioPin.$assign = "PAD_AB";
    
    gpio2.$name                = "CONFIG_GPIO1";
    gpio2.pinDir               = "OUTPUT";
    gpio2.GPIO.gpioPin.pu_pd   = "pu";
    gpio2.GPIO.gpioPin.$assign = "PAD_AZ";
    
    ipc.r5fss0_1     = "NONE";
    ipc.vringNumBuf  = 1;
    ipc.vringMsgSize = 1152;
    
    mcan.dataSynchJumpWidth = 1;
    mcan.nomRatePrescalar   = 4;
    mcan.nomTimeSeg1        = 4;
    mcan.nomTimeSeg2        = 1;
    mcan.dataTimeSeg1       = 6;
    mcan.dataTimeSeg2       = 1;
    mcan.dataRatePrescalar  = 0;
    
    mcan1.$name        = "CONFIG_MCAN0";
    mcan1.MCAN.$assign = "MCANB";
    
    mcan2.$name           = "CONFIG_MCAN1";
    mcan2.MCAN.RX.$assign = "PAD_BO";
    mcan2.MCAN.TX.$assign = "PAD_BN";
    
    uart1.$name           = "CONFIG_UART0";
    uart1.UART.$assign    = "UARTA";
    uart1.UART.RX.$assign = "PAD_DA";
    uart1.UART.TX.$assign = "PAD_DB";
    
    uart2.$name           = "CONFIG_UART1";
    uart2.intrEnable      = "DISABLE";
    uart2.UART.RX.$used   = false;
    uart2.UART.TX.$assign = "PAD_DE";
    
    edma2.$name                        = "CONFIG_EDMA1";
    flash1.peripheralDriver.edmaConfig = edma2;
    uart1.edmaConfig                   = edma2;
    uart2.edmaConfig                   = edma2;
    edma2.edmaRmDmaCh[0].$name         = "CONFIG_EDMA_RM5";
    edma2.edmaRmQdmaCh[0].$name        = "CONFIG_EDMA_RM6";
    edma2.edmaRmTcc[0].$name           = "CONFIG_EDMA_RM7";
    edma2.edmaRmParam[0].$name         = "CONFIG_EDMA_RM8";
    edma2.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM9";
    
    watchdog1.$name          = "CONFIG_WDT0";
    watchdog1.wdt_func_clk   = 150000000;
    watchdog1.expirationTime = 200;
    watchdog1.resetMode      = "Watchdog_RESET_OFF";
    
    mpu_armv71.$name        = "CONFIG_MPU_REGION0";
    mpu_armv71.attributes   = "Device";
    mpu_armv71.allowExecute = false;
    
    mpu_armv72.$name = "CONFIG_MPU_REGION1";
    mpu_armv72.size  = 14;
    
    mpu_armv73.$name    = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr = 0x80000;
    mpu_armv73.size     = 14;
    
    mpu_armv74.$name    = "CONFIG_MPU_REGION3";
    mpu_armv74.baseAddr = 0x10200000;
    mpu_armv74.size     = 20;
    
    mpu_armv75.$name      = "CONFIG_MPU_REGION4";
    mpu_armv75.attributes = "NonCached";
    mpu_armv75.size       = 14;
    mpu_armv75.baseAddr   = 0x102EC000;
    
    mpu_armv76.$name        = "CONFIG_MPU_REGION5";
    mpu_armv76.baseAddr     = 0xC5000000;
    mpu_armv76.size         = 13;
    mpu_armv76.attributes   = "NonCached";
    mpu_armv76.allowExecute = false;
    
    mpu_armv77.$name        = "CONFIG_MPU_REGION6";
    mpu_armv77.baseAddr     = 0xA4030000;
    mpu_armv77.size         = 12;
    mpu_armv77.attributes   = "NonCached";
    mpu_armv77.allowExecute = false;
    
    mpu_armv78.$name        = "CONFIG_MPU_REGION7";
    mpu_armv78.baseAddr     = 0x88000000;
    mpu_armv78.size         = 21;
    mpu_armv78.attributes   = "Cached+Sharable";
    mpu_armv78.allowExecute = false;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    flash1.peripheralDriver.QSPI["0"].$suggestSolution = "PAD_AL";
    flash1.peripheralDriver.QSPI["1"].$suggestSolution = "PAD_AM";
    flash1.peripheralDriver.QSPI["2"].$suggestSolution = "PAD_AN";
    flash1.peripheralDriver.QSPI["3"].$suggestSolution = "PAD_AO";
    flash1.peripheralDriver.QSPI.$suggestSolution      = "QSPI0";
    flash1.peripheralDriver.QSPI.CLK.$suggestSolution  = "PAD_AP";
    flash1.peripheralDriver.QSPI.CS.$suggestSolution   = "PAD_AQ";
    gpio2.GPIO.$suggestSolution                        = "GPIO";
    mcan1.MCAN.RX.$suggestSolution                     = "PAD_AH";
    mcan1.MCAN.TX.$suggestSolution                     = "PAD_AI";
    mcan2.MCAN.$suggestSolution                        = "MCANA";
    uart2.UART.$suggestSolution                        = "UARTB";
    

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

    您好:

    为什么要将 MSS_CPU 设置为 C66?

    MSS 代码旨在在 R5F 内核上运行。 如果您将该代码更改回、它会生成什么代码?

    此致、

    Gabriel

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

    您好、

    我原始代码使用 R5F 对 MSS_CPU 使用、并找到了错误。

    由于错误消息显示“Related CPU“、因此我尝试测试并更改为 C66 以查看昨天的结果不同。

    我发现一个旧问题与下面的  AM2634 相同:链接到静态库时遇到错误 

    您能帮我一步一步地解决问题吗?

    BRS、

    Bolong

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

    您好:

    我已经尝试在 SDK 4.7.1.4 上构建 2944 DDM 演示、没有问题。 我甚至使用您提供的自定义.syscfg 文件构建它。 我将分享用于构建环境的 setenv.bat 文件、该文件在 CCS 和编译器用法上存在一些差异。 请尝试使用这些相同的设置构建 DDM 演示。 您是否在代码中的任何位置进行了任何其他更改? 我不知道是什么原因导致您出现问题。

    @REM #########################################################################
    @REM 编号
    @REM #为毫米波 SDK 设置工具和构建环境变量
    @REM 编号
    @REM #########################################################################

    @REM #########################################################################
    @REM #编译变量(根据编译需求进行修改)
    @REM #########################################################################

    @REM 选择您的设备。 选项(区分大小写)包括:
    n ü@REM  awr2943、awr2944、awr2544、awr2x44P
    设置 MMWAVE_SDK_DEVICE=awr2944

    @REM 如果需要通过 CCS 下载、请将下面的 define 设置为 yes else no
    @REM 是:可以使用 CCS 加载创建的输出文件。
    @    创建的 REM 二进制文件可用于刷写
    @REM 否: 无法使用 CCS 加载创建的输出文件。
    @    创建的 REM 二进制文件可用于刷写
    @REM    (附加功能:TCMA 写保护等)
    设置 download_from_ccs=yes

    如果%MMWAVE_SDK_DEVICE%== awr2x44P (
    @REM 如果要将内存优化的驱动程序和内核库用于 M4 二进制文件,
    @REM 将低于标志设置为 1、否则设置为 0。
    设置 M4_RELEASE_OPT=1

    @基于 awr2x44P 的 DDM OOB 演示的 REM、如果需要在 MSS 上执行 AoA 处理、
    @REM 将以下分别对应于 awr2x44P 和 awr2x44ECO 的标志设置为 1、
    @REM 、而 0 用于在 DSP 上执行该操作。
    设置 MSS_AOA_ENABLE=1
    设置 ECO_MSS_AOA_ENABLE=1
    )

    @REM #########################################################################
    @REM #客户安装的工具变量(根据安装修改)
    @REM #########################################################################


    @REM #########################################################################
    @REM # TI 工具变量(如果是默认毫米波 SDK、则此行下方不需要更改
    @REM #使用安装选项)
    @REM #########################################################################

    设置 MMWAVE_SDK_TOOLS_INSTALL_PATH=C:/ti/mmwave_mcuplus_sdk_04_07_01_04

    @REM 所有平台的通用设置
    @REM 路径至<mmwave_sdk 安装路径>文件夹
    设置 mmwave_sdk_install_path=%mmwave_sdk_tools_install_path%/mmwave_mcuplus_sdk_04_07_01_04

    @REM CCS
    设置 CCS_INSTALL_PATH=C:/ti/ccs2010

    @REM TI ARM 编译器
    设置 R5F_CLANG_INSTALL_PATH=%CCS_INSTALL_PATH%/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS

    @REM CCS bin tools
    设置 CCS_bin_PATH=%CCS_INSTALL_PATH%/ccs/utils/bin

    @REM CCS Cygwin 工具
    设置 CCS_Cygwin_path=%CCS_INSTALL_PATH%/ccs/utils/cygwin

    @REM AWR294X MCU PLUS SDK
    设置 MCU_PLUS_AWR294X_INSTALL_PATH=%MMWAVE_SDK_TOOLS_INSTALL_PATH%/MCU_PLUS_SDK_awrl644x_10_01_00_04

    @REM AWR2X44P MCU 加 SDK
    设置 MCU_PLUS_AWR2X44P_INSTALL_PATH=%MMWAVE_SDK_TOOLS_INSTALL_PATH%/MCU_PLUS_SDK_awr2x44p_10_01_00_04

    @REM AWR2544 MCU 加 SDK
    设置 MCU_PLUS_AWR2544 安装路径=%MMWave_sdk_tools_install_path%/MCU_PLUS_SDK_awr2544_10_01_00_05

    @REM SysConfig
    设置 SYSCONFIG_INSTALL_PATH=C:/ti/sysconfig_1.23.0

    @REM AWR294X 毫米波 DFP
    设置 MMWAVE_AWR294X_DFP_INSTALL_PATH=%MMWAVE_SDK_TOOLS_INSTALL_PATH%/MMWAVE_DFP_02_04_18_01

    @REM awr294x radarss 固件
    设置 AWR294X_RADARSS_IMAGE_BIN=%MMWave_AWR294X_DFP_INSTALL_PATH%/firmware/radarss/xwr29xx_radarss_metarprc.bin

    @REM awr2544 radarss 固件
    设置 AWR2544 RADARSS_IMAGE_BIN=%MMWave_AWR294X_DFP_INSTALL_PATH%/firmware/radarss/xwr25xx_radarss_metarprc.bin

    @REM awr2x44P radarss 固件
    设置 AWR2X44P_RADARSS_IMAGE_BIN=%MMWave_AWR294X_DFP_INSTALL_PATH%/firmware/radarss/xwr2x4xp_radarss_metarprc.bin

    @仅具有 DSP 的器件需要 REM
    @REM TI DSP 编译器
    设置 C66X_CodeGen_INSTALL_PATH=%CCS_INSTALL_PATH%/ccs/tools/compiler/ti-cgt-c6000_8.3.13
    @REM DSPLIB
    设置 C66x DSPLIB_INSTALL_PATH=%MMWAVE_SDK_TOOLS_INSTALL_PATH%/DSPLIB_c66x_3_4_0_0
    @REM MATHlib
    设置 C66x MATHLIB_INSTALL_PATH=%MMWAVE_SDK_TOOLS_INSTALL_PATH%/mathlib_c66x_3_1_2_1


    @REM 调用脚本以检查 env 变量并设置路径
    致电 checkenv.bat

    @REM 检查错误代码
    如果%ERRORSTELEVE% NEQ 0 (
     REM 错误:checkenv.bat 中出现故障!!!
     REM 返回错误
     退出/B 1
    )

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

    您好:

    我目前没有访问 Linux 系统的权限。 您无法使用 Windows 吗?

    如果不是、请给我几天时间来获得一台 Linux 计算机并在我这边进行测试

    此致、

    Gabriel

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

    您好:

    我们仅使用 Linux 服务器来编译器。

    您可能需要几天的时间来测试它。

    我是否需要使用 TI CCS 工具并输入 arc.syscfg 来获取 ti_xxx.c、然后复制它们以替换 mss/mssgenerated 或 dss/dssgenerated 文件夹中的逻辑块?

    Thnaks、

    Bolong