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 ****
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_ */