Other Parts Discussed in Thread: AWR1443
Tool/software: Code Composer Studio
Hi,
When i try and debug my AWR1443 BOOST i keep getting these errors:
'Invoking: ARM Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_17.6.0.STS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"mmWave.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_17.6.0.STS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_17.6.0.STS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="mmWave_linkInfo.xml" --rom_model -o "mmWave.out" "./main.obj" "../xwr1443_r4f.cmd" -llibc.a
<Linking>
undefined first referenced
symbol in file
--------- ----------------
rlDevicePowerOn ./main.obj
rlSensorStart ./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; "mmWave.out" not built
>> Compilation failure
makefile:141: recipe for target 'mmWave.out' failed
My code is:
#include <C:/ti/mmwave_sdk_01_00_00_05/packages/ti/control/mmwavelink/mmwavelink.h> #include <stdint.h> #include <stdlib.h> #include <stddef.h> #include <string.h> #include <stdio.h> #include <math.h> void ADCInit(); void ProfileInit(); void ChirpInit(); void ChannelInit(); void FrameInit(); int main(void) { rlClientCbs_t callBack; rlDevicePowerOn(RL_DEVICE_MAP_CASCADED_1,callBack); ProfileInit(); FrameInit(); ChirpInit(); ChannelInit(); ADCInit(); rlSensorStart(RL_DEVICE_MAP_CASCADED_1); } void ChannelInit(){ rlChanCfg_t ChanCfg = {0}; //channel configuration rlSetChannelConfig(RL_DEVICE_MAP_CASCADED_1, &ChanCfg); ChanCfg.rxChannelEn = 15; // Enabling 4 RX channels ChanCfg.txChannelEn = 7; //Enabling 3 TX channels ChanCfg.cascading = 0; // cascading not needed } void ADCInit(){ rlAdcOutCfg_t adcOutCfg = {0}; // ADC configuration rlSetAdcOutConfig(RL_DEVICE_MAP_CASCADED_1, &adcOutCfg); adcOutCfg.fmt.bitFormat.b2AdcBits = 0b10; // 16 bit ADC adcOutCfg.fmt.bitFormat.b2AdcOutFmt = 0b00; // use real output for ADC whereas using 01 will filter image band } void FrameInit(){ rlFrameCfg_t frameCfg; // FMCW frame config rlSetFrameConfig(RL_DEVICE_MAP_CASCADED_1, &frameCfg); frameCfg.chirpStartIdx = 0; frameCfg.chirpEndIdx = 1; frameCfg.numLoops = 32; frameCfg.numFrames = 0; // infinite frameCfg.framePeriodicity = 4000000; // 20msec between each frame frameCfg.triggerSelect = 1; //SW API based triggering frameCfg.frameTriggerDelay = 0; } void ProfileInit(){ rlProfileCfg_t profCfg = {0}; // configure one profile rlSetProfileConfig(RL_DEVICE_MAP_CASCADED_1,1U, &profCfg); //profCfg.profileId = 0; profCfg.startFreqConst = 0x558E38E3; //77GHz profCfg.idleTimeConst = 700; // time between two consecutive chirps profCfg.adcStartTimeConst = 300; // point of time in the chirps you want to sample the data to be processed by HWA profCfg.rampEndTime = 5800; profCfg.freqSlopeConst = 0x580; // 68Mhz/u sec profCfg.numAdcSamples = 225; profCfg.digOutSampleRate = 4500; profCfg.rxGain = 30; // 30dB //profCfg.txOutPowerBackoffCode = 0; } void ChirpInit(){ rlChirpCfg_t chirpCfg[2U]; // initialise and use 2 chirps rlSetChirpConfig(RL_DEVICE_MAP_CASCADED_1, 2U, chirpCfg); chirpCfg[0].chirpStartIdx = 0; chirpCfg[0].chirpEndIdx = 0; chirpCfg[0].profileId = 0; chirpCfg[0].txEnable = 0; // transmit on channel TX0 chirpCfg[1].chirpStartIdx = 1; chirpCfg[1].chirpEndIdx = 1; chirpCfg[1].profileId = 0; chirpCfg[1].txEnable = 4; // transmit on channel TX2 }
Any help on this issue would be appreciated.
Thanks