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.

CCS/CCSTUDIO: Unable to read mmwave sdk

Part Number: CCSTUDIO
Other Parts Discussed in Thread: IWR1642

Tool/software: Code Composer Studio

Hello,

I am new to CCS and the mmWave sdk and I am using the mmwave sdk to program the IWR1642. I

**** Build of configuration Debug for project CD ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O 
'Building file: ../main.c'
'Invoking: ARM Compiler'
"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 --include_path="C:/Users/shantan1/workspace_v7/CD" --include_path="C:/ti/mmwave_sdk_01_00_00_05/packages/ti" --include_path="C:/ti/mmwave_sdk_01_00_00_05/packages/ti/control/mmwavelink" --include_path="C:/ti/mmwave_sdk_01_00_00_05/packages/ti/alg/mmwavelib" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="main.d"  "../main.c"
'Finished building: ../main.c'
' '
'Building target: CD.out'
'Invoking: ARM Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"CD.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="CD_linkInfo.xml" --rom_model --be32 -o "CD.out" "./main.obj" "../xwr1642_r4f.cmd"  -llibc.a 
<Linking>

 undefined          first referenced
  symbol                in file     
 ---------          ----------------
 rlRfInit           ./main.obj      
 rlSetAdcOutConfig  ./main.obj      
 rlSetChannelConfig ./main.obj      
 rlSetChirpConfig   ./main.obj      
 rlSetFrameConfig   ./main.obj      
 rlSetProfileConfig ./main.obj      

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

>> Compilation failure
makefile:141: recipe for target 'CD.out' failed
gmake[1]: *** [CD.out] Error 1
gmake: *** [all] Error 2
makefile:137: recipe for target 'all' failed

**** Build Finished ****
have written the code to configure the front end using the mmwavelink api. I have added the path to the list of include paths, yet, the APIs such as rlSetProfileConfig  are being shown as unresolved objects. I have inserted the build log and code. Please help.

Here's the config code:

/*
 * configureFE.h
 *
 *  Created on: Jun 29, 2017
 *      Author: shantan1
 */

#ifndef CONFIGUREFE_H_
#define CONFIGUREFE_H_

#include <mmwavelib.h>
#include <mmwavelink.h>
#include <include/rl_device.h>
#include <include/rl_sensor.h>
#include <include/rl_monitoring.h>
#include <include/rl_protocol.h>
#include <include/rl_messages.h>


void configFE(); //Uses mmwaveLINK for setting chirp parameters and so on
void profileConfig(); //Configures Profile
void chirpConfig(); //Configures Chirp
void frameConfig(); //Configures Frame
void configTxRx();  //Configure Tx and Rx Channels
void adcConfig();   //Configure ADC output

void configFE()
{
    configTxRx();
    adcConfig();
   // rlSetLowPowerModeConfig()
    rlRfInit(RL_DEVICE_MAP_CASCADED_1);
    profileConfig();
    chirpConfig();
    frameConfig();
}

void profileConfig()
{
    rlProfileCfg_t profileCfgArgs;// {0,77,7,7,18.24,0,0,15,1,64,6250,0,0,30};
       profileCfgArgs.profileId = 0;
       profileCfgArgs.startFreqConst = 77;
       profileCfgArgs.idleTimeConst = 7;
       profileCfgArgs.adcStartTimeConst = 7;
       profileCfgArgs.rampEndTime = 18.24;
       profileCfgArgs.txOutPowerBackoffCode = 0;
       profileCfgArgs.txPhaseShifter = 0;
       profileCfgArgs.freqSlopeConst = 15;
       profileCfgArgs.txStartTime = 1;
       profileCfgArgs.numAdcSamples = 64;
       profileCfgArgs.digOutSampleRate = 6250;
       profileCfgArgs.hpfCornerFreq1 = 0;
       profileCfgArgs.hpfCornerFreq2 = 0;
       profileCfgArgs.rxGain = 30;
       rlSetProfileConfig(RL_DEVICE_MAP_CASCADED_1,1, &profileCfgArgs);
}

void chirpConfig()
{
    rlChirpCfg_t chirpCfgArgs[2U];
    chirpCfgArgs[0].chirpStartIdx = 0;
    chirpCfgArgs[0].chirpEndIdx = 0;
    chirpCfgArgs[0].profileId = 0;
    chirpCfgArgs[0].startFreqVar = 0;
    chirpCfgArgs[0].freqSlopeVar = 0;
    chirpCfgArgs[0].idleTimeVar = 0;
    chirpCfgArgs[0].adcStartTimeVar = 0;
    chirpCfgArgs[0].txEnable = 1;

    chirpCfgArgs[1].chirpStartIdx = 1;
    chirpCfgArgs[1].chirpEndIdx = 1;
    chirpCfgArgs[1].profileId = 0;
    chirpCfgArgs[1].startFreqVar = 0;
    chirpCfgArgs[1].freqSlopeVar = 0;
    chirpCfgArgs[1].idleTimeVar = 0;
    chirpCfgArgs[1].adcStartTimeVar = 0;
    chirpCfgArgs[1].txEnable = 2;

    rlSetChirpConfig(RL_DEVICE_MAP_CASCADED_1, 2U, chirpCfgArgs);
}

void frameConfig()
{
    rlFrameCfg_t frameCfgArgs;
    frameCfgArgs.chirpStartIdx = 0;
    frameCfgArgs.chirpEndIdx = 1;
    frameCfgArgs.numLoops = 32;
    frameCfgArgs.numFrames = 0;
    frameCfgArgs.framePeriodicity = 50;
    frameCfgArgs.triggerSelect = 0;
    frameCfgArgs.frameTriggerDelay =0;
    rlSetFrameConfig(RL_DEVICE_MAP_CASCADED_1, & frameCfgArgs);
}

void configTxRx()
{
    rlChanCfg_t rfChanCfgArgs = {0};
    rfChanCfgArgs.rxChannelEn = 0x0F;
    rfChanCfgArgs.txChannelEn = 0x3; //TX0 and TX1
    rfChanCfgArgs.cascading = 0;
    rlSetChannelConfig(RL_DEVICE_MAP_CASCADED_1, & rfChanCfgArgs);
}

void adcConfig()
{
    rlAdcOutCfg_t adcOutCfgArgs = {0};
    adcOutCfgArgs.fmt.bitFormat.b2AdcBits = 0b10;
    adcOutCfgArgs.fmt.bitFormat.b2AdcOutFmt = 0b01;
    rlSetAdcOutConfig(RL_DEVICE_MAP_CASCADED_1,&adcOutCfgArgs );
}




#endif /* CONFIGUREFE_H_ */

  • Hi Shantanu,
    Looks like you haven't given mmWaveLink library and path attached to your CCS project.

    This you can do in CCS_project->properties->Build->ARM_Linker->File_search_path.


    Another suggestion if you are trying to configure Radar front end (RadarSS) from MasterSS (R4F) then please follow the API sequence given in mmWave_sdk_user_guide.pdf: figure21, where you need to skip mmWave layer if you are calling these APIs directly from Application.



    Regards,
    Jitendra Gupta
  • Hi Jitendra,
    I tried that. Still no change.

    Regards,
    Shantanu

  • Update:

    The mmwave sdk itself is giving some errors. I have attached the build log.

    **** Build of configuration Debug for project CD_DSS ****
    
    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O 
    'Building file: ../main.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/bin/cl6x" -mv6740 --include_path="C:/Users/shantan1/workspace_v7/CD_DSS" --include_path="C:/ti/mmwave_sdk_01_00_00_05/packages" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/include" -g --diag_wrap=off --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="main.d"  "../main.c"
    
    >> Compilation failure
    subdir_rules.mk:9: recipe for target 'main.obj' failed
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 379: error #20: identifier "uint32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 385: error #20: identifier "uint8_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 390: error #20: identifier "uint32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 401: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 402: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 402: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 403: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 403: error #20: identifier "uint32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 403: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 404: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 404: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 405: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 405: error #20: identifier "uint32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 405: error #20: identifier "uint64_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 405: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 406: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 406: error #20: identifier "uint32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/crc.h", line 406: error #20: identifier "int32_t" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/soc/soc.h", line 346: error #20: identifier "SOC_ModuleId" is undefined
    "C:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/soc/soc.h", line 347: error #20: identifier "SOC_ModuleId" is undefined
    20 errors detected in the compilation of "../main.c".
    gmake: *** [main.obj] Error 1
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

  • Hi Shantanu, sorry there has been no reply in quite some time.  Are you still having issues?  Your CCSbuildErrors.txt shows some basic types that are undefined.  Have you installed all the required components as listed in the SDK's release notes?  You must install the specific versions of each component, and it is best to install them in the default location (C:\ti).  If this has been done, then I think the problem is that you haven't included all the required search paths. Your compile of main.c only shows the SDK and compiler paths:

    "C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/bin/cl6x" -mv6740 --include_path="C:/Users/shantan1/workspace_v7/CD_DSS" --include_path="C:/ti/mmwave_sdk_01_00_00_05/packages" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.1.4/include" -g --diag_wrap=off --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="main.d"  "../main.c"

    If you kick off a makefile build of one of the demos, you'll see there are several more required search paths.  Again, sorry for the delay.  If your problem is solved, we can close the thread.

      -dave