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.

IWR1443: 'MMWAVE_SDK_DEVICE' cannot be resolved (CCS 9)

Part Number: IWR1443
Other Parts Discussed in Thread: CCSTUDIO

Team, 

Can you please help with this question from customer:

I imported a modified, but working, high_accuracy_14xx_mss project from one CSS workspace into another because I needed the project in another place for version control reasons. Unfortunately, this broke the build. The problem appears to be the build variable that is shown below.

Description Resource    Path  Location    Type

Build-variable 'MMWAVE_SDK_DEVICE' cannot be resolved. This project may not build as expected.   high_accuracy_14xx_mss        properties  Problem

This build variable is used throughout the build process. So, I can understand why this would break the build. The problem is that I cannot determine where this build variable is defined in the old project so that I can add it to the new project that won’t build. I’ve searched the forums but am not seeing a solution for this problem.

Thanks

Viktorija

  • Hi Viktorija

    MMWAVE_SDK_DEVICE is defined in the high_accuracy_14xx_mss.projectspec file as xwr14xx and is used again in various areas of the projectspec to establish naming convention and also pull the appropriate xwr14xx files/libraries from the SDK.

    I have never run in to this error myself so I am guessing that this variable might have been changed somehow in the projectspec. I've attached an unedited projectspec for your convenience. Also worth noting is that we recommend using CCSTUDIO version 8.3.1 for all mmWave Labs.

    Regards,

    AGhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/high_5F00_accuracy_5F00_14xx_5F00_mss.projectspec

  • Hi Akash:

      Thanks. While your response looked promising, it didn’t solve the problem. The version of the project in the original workspace does not include the projectspec file, but still builds properly anyway. Therefore, don’t understand where MMWAVE_SDK_DEVICE is defined in that version of the project.

       I placed the projectspec file into the version of the project in the new workspace. Unfortunately, MMWAVE_SDK_DEVICE remains unresolved and the project still doesn’t build. Additionally, I tried adding MMWAVE_SDK_DEVICE="xwr14xx" to the Arm Compiler Predefined Symbols in the project’s properties, but MMWAVE_SDK_DEVICE remains unresolved.

      In general, I don't understand why MMWAVE_SDK_DEVICE resolves in the version of the project in the original workspace that doesn't have the projectspec file, why MMWAVE_SDK_DEVICE does not resolve in the version of the project in the new workspace when I add the projectspec file, or why MMWAVE_SDK_DEVICE does not resolve when I add the MMWAVE_SDK_DEVICE symbol to the properties of the project in the new workspace.

       Further guidance would be appreciated.

      Thanks, Michael

  • Hi Michael

    There are a couple of reasons why it is used. First is because there are device specific components such as memory size and location which the IDE can take into account and flag during compilation. Another reason as is used for this lab is the naming convention of the files allows the appropriate device specific config/driver/control files to be pulled/referenced from the SDK e.g. 68xx vs 14xx.

    Would you be able to post a screenshot of the errors you are seeing on compilation?

    Can you also confirm that your project files and project properties look similar to mine as posted below? This was taken after a clean import into the workspace and no compilation.

    Regards,

    AG

  • Hi Akash:

      Yes, I understand how MMWAVE_SDK_DEVICE is used and why it is needed, but I don't understand why it is not defined in the second copy of the project. I have compared everything I can think of between the two projects and I do not see any differences. Every time I try importing the original project into another workspace, MMWAVE_SDK_DEVICE is not resolved and I get compilation errors. I have tried this several times.

      You must keep in mind that my original version of the project was modified and is no longer the same as what you show because we had begun development. So, of course, everything does not match what you have. However, MMWAVE_SDK_DEVICE is still defined in that original project and it still builds. However, when I import it into another workspace (to move it to another directory), MMWAVE_SDK_DEVICE becomes undefined and the project no longer builds.

      Everything you show in the General window of your screen capture above is the same in my projects except for the compiler version.

    Here is the diagnostic stating that MMWAVE_SDK_DEVICE can not be resolved. 

    Here is the output from the compile. It is clear from the errors that MMWAVE_SDK_DEVICE is the problem.

    **** Build of configuration Debug for project high_accuracy_14xx_mss ****

    "C:\\ti\\ccs930\\ccs\\utils\\bin\\gmake" -k -j 4 all -O

    rm -f C:/Work/Model_R80/WorkTI/high_accuracy_14xx_mss/_high_accuracy_mss.bin

    Building target: "_high_accuracy_mss.xer4f"
    Invoking: ARM Linker
    "C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me -Ooff --define=SOC_XWR14XX --define=SUBSYS_MSS --define=DOWNLOAD_FROM_CCS --define=DebugP_ASSERT_ENABLED --define=MMWAVE_L3RAM_SIZE=0x40000 --define=MMWAVE_L3RAM_NUM_BANK=6 --define=MMWAVE_SHMEM_TCMA_NUM_BANK=0 --define=MMWAVE_SHMEM_TCMB_NUM_BANK=0 --define=MMWAVE_SHMEM_BANK_SIZE=0x10000 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --enum_type=packed --abi=eabi -z -m"_high_accuracy_mss.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/spi/lib" -i"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/control/mmwave/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/control/mmwavelink/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/adcbuf/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/crc/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/dma/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/edma/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/esm/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/gpio/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/hwa/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/mailbox/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/osal/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/pinmux/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/soc/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/uart/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/utils/cli/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/cbuff/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/utils/hsiheader/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/qspiflash/lib" -i"C:/ti/mmwave_sdk_02_01_00_04/packages/ti/drivers/qspi/lib" -i"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include" --reread_libs --disable_auto_rts --define=MMWAVE_L3RAM_NUM_BANK=6 --define=MMWAVE_SHMEM_TCMA_NUM_BANK=0 --define=MMWAVE_SHMEM_TCMB_NUM_BANK=0 --define=MMWAVE_SHMEM_BANK_SIZE=0x10000 --diag_warning=225 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="_high_accuracy_14xx_mss_linkInfo.xml" --rom_model --unused_section_elimination=on -o "_high_accuracy_mss.xer4f" "./Cfar.obj" "./IWRCalib.obj" "./IWRConfig.obj" "./IWRHardware.obj" "./config_edma_util.obj" "./data_path.obj" "./main.obj" "./sensor_mgmt.obj" "./spi_xwr14xx.obj" "../mss_mmw_linker.cmd" "../r4f_linker.cmd" -l"configPkg/linker.cmd" -llibosal_.aer4f -llibqspi_.aer4f -llibqspiflash_.aer4f -llibesm_.aer4f -llibgpio_.aer4f -llibsoc_.aer4f -llibpinmux_.aer4f -llibcrc_.aer4f -llibuart_.aer4f -llibmailbox_.aer4f -llibmmwavelink_.aer4f -llibmmwave_.aer4f -llibadcbuf_.aer4f -llibdma_.aer4f -llibedma_.aer4f -llibcli_.aer4f -llibspi_.aer4f -llibhwa_.aer4f -llibcbuff_xwr14xx.aer4f -llibhsiheader_xwr14xx.aer4f -lrtsv7R4_T_le_v3D16_eabi.lib -llibc.a
    <Linking>
    error #10008-D: cannot find file "libosal_.aer4f"
    error #10008-D: cannot find file "libqspi_.aer4f"
    error #10008-D: cannot find file "libqspiflash_.aer4f"
    error #10008-D: cannot find file "libesm_.aer4f"
    error #10008-D: cannot find file "libgpio_.aer4f"
    error #10008-D: cannot find file "libsoc_.aer4f"
    error #10008-D: cannot find file "libpinmux_.aer4f"
    error #10008-D: cannot find file "libcrc_.aer4f"
    error #10008-D: cannot find file "libuart_.aer4f"
    error #10008-D: cannot find file "libmailbox_.aer4f"
    error #10008-D: cannot find file "libmmwavelink_.aer4f"
    error #10008-D: cannot find file "libmmwave_.aer4f"
    error #10008-D: cannot find file "libadcbuf_.aer4f"
    error #10008-D: cannot find file "libdma_.aer4f"
    error #10008-D: cannot find file "libedma_.aer4f"
    error #10008-D: cannot find file "libcli_.aer4f"
    error #10008-D: cannot find file "libspi_.aer4f"
    error #10008-D: cannot find file "libhwa_.aer4f"

    undefined first referenced
    symbol in file
    --------- ----------------
    ADCBuf_Params_init ./main.obj
    ADCBuf_control ./main.obj
    ADCBuf_init ./main.obj
    ADCBuf_open ./main.obj
    EDMA_configChannel ./IWRHardware.obj
    EDMA_configErrorMonitoring ./data_path.obj
    EDMA_configParamSet ./config_edma_util.obj
    EDMA_getNumInstances ./data_path.obj
    EDMA_init ./data_path.obj
    EDMA_linkParamSets ./config_edma_util.obj
    EDMA_open ./data_path.obj
    ESM_init ./main.obj
    GPIO_enableInt ./sensor_mgmt.obj
    GPIO_init ./main.obj
    GPIO_setCallback ./sensor_mgmt.obj
    GPIO_setConfig ./IWRHardware.obj
    GPIO_write ./IWRHardware.obj
    HWA_configCommon ./IWRConfig.obj
    HWA_configParamSet ./IWRConfig.obj
    HWA_configRam ./data_path.obj
    HWA_enable ./IWRConfig.obj
    HWA_enableDoneInterrupt ./data_path.obj
    HWA_enableParamSetInterrupt ./IWRConfig.obj
    HWA_getDMAconfig ./Cfar.obj
    HWA_init ./data_path.obj
    HWA_open ./data_path.obj
    HWA_readStatsReg ./main.obj
    HWA_reset ./data_path.obj
    HWA_setDMA2ACCManualTrig ./data_path.obj
    MMWave_addChirp ./IWRConfig.obj
    MMWave_addProfile ./IWRConfig.obj
    MMWave_config ./sensor_mgmt.obj
    MMWave_decodeError ./sensor_mgmt.obj
    MMWave_decodeErrorLevel ./sensor_mgmt.obj
    MMWave_deviceCfgAsyncEvent ./sensor_mgmt.obj
    MMWave_deviceOpenFxn ./sensor_mgmt.obj
    MMWave_encodeError ./sensor_mgmt.obj
    MMWave_execute ./main.obj
    MMWave_getChirpCfg ./main.obj
    MMWave_getChirpHandle ./main.obj
    MMWave_getNumChirps ./main.obj
    MMWave_getProfileCfg ./IWRConfig.obj
    MMWave_init ./main.obj
    MMWave_start ./main.obj
    MMWave_stop ./sensor_mgmt.obj
    MMWave_sync ./main.obj
    Mailbox_init ./main.obj
    Pinmux_Set_FuncSel ./IWRCalib.obj
    Pinmux_Set_OverrideCtrl ./IWRCalib.obj
    QSPIFlash_getExtFlashAddr ./IWRCalib.obj
    QSPIFlash_open ./IWRCalib.obj
    QSPIFlash_sectorErase ./IWRCalib.obj
    QSPIFlash_singleRead ./IWRCalib.obj
    QSPIFlash_singleWrite ./IWRCalib.obj
    QSPI_Params_init ./IWRCalib.obj
    QSPI_open ./IWRCalib.obj
    SOC_init ./main.obj
    SOC_registerSysIntListener ./main.obj
    SOC_translateAddress ./Cfar.obj
    SPI_Params_init ./IWRHardware.obj
    SPI_init ./main.obj
    SPI_open ./IWRHardware.obj
    SPI_transfer ./IWRHardware.obj
    UART_Params_init ./main.obj
    UART_init ./main.obj
    UART_open ./main.obj
    UART_writePolling ./main.obj
    _DebugP_assert ./Cfar.obj
    rlRfCalibDataRestore ./sensor_mgmt.obj
    rlRfCalibDataStore ./sensor_mgmt.obj
    rlRfInit ./sensor_mgmt.obj
    rlRfInitCalibConfig ./sensor_mgmt.obj
    rlRfSetCalMonFreqLimitConfig ./sensor_mgmt.obj
    rlRfSetCalMonTimeUnitConfig ./sensor_mgmt.obj
    rlSetAdcOutConfig ./sensor_mgmt.obj
    rlSetChannelConfig ./sensor_mgmt.obj
    rlSetLowPowerModeConfig ./sensor_mgmt.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "_high_accuracy_mss.xer4f" not built

    >> Compilation failure
    makefile:176: recipe for target '_high_accuracy_mss.xer4f' failed
    gmake[2]: *** [_high_accuracy_mss.xer4f] Error 1
    makefile:172: recipe for target 'main-build' failed
    gmake[1]: *** [main-build] Error 2
    makefile:167: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****

  • Hi Michael

    Can you post a screenshot of the errors seen in the Problems pane when this occurs?

    Also are you saying this occurs with modified code and modified projectspec or clean code and clean projectspec in the new workspace? Please confirm and if there are any projectspec changes then please attach the file here.

    Lastly what is the compiler version in your project properties? I would like to try that compiler myself.

    Regards,

    AG

  • Hi Akash:

      I did past a Problems screen capture into my prior response, but it appears it did not save. How can I insert a screen capture? 

      Meanwhile, I do not think there is a problem with the tools in general. However, I do think there is something wrong with my modified project that causes a problem when I try to import it into another workspace. Note that I inherited this project from a retired engineer. So, I'm trying to focus on correcting that issue. Here are some details that may help/

    1) The original (but modified) project does not include a high_accuracy_14xx_mss.projectspec file. However, MMWAVE_SDK_DEVICE still resolves and the project still builds!

    2) I added the high_accuracy_14xx_mss.projectspec file to the imported version of the original project and the high_accuracy_14xx_mss.projectspec file was shown in the list of project files (so, the project knew it was there). However, MMWAVE_SDK_DEVICE still did not resolve. I can see that MMWAVE_SDK_DEVICE is defined in the high_accuracy_14xx_mss.projectspec file. So, why doesn't MMWAVE_SDK_DEVICE resolve?

    3) The only thing preventing all of this from working is getting MMWAVE_SDK_DEVICE to resolve. Is there another way to define MMWAVE_SDK_DEVICE? Or, is there something else I need to do with the  high_accuracy_14xx_mss.projectspec file so that the project will resolve MMWAVE_SDK_DEVICE?

      Thanks, Michael

  • Thanks Viktorija

    Will have an update in a few days.

    Regards,

    AG

  • Hi Viktorija

     

    I’ve found how to enable compilation,

     

    One must go to Project Properties > Build > Variables and then enable Show system variables as in picture below.

     

     

    Then one must Add… the below variables,

     

    After doing this I am able to compile the project after previously not being able to do so.

    Regards,

    AG