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/CC3200-LAUNCHXL: Linker problems when mixing code from different example programs

Part Number: CC3200-LAUNCHXL
Other Parts Discussed in Thread: CC3200SDK, CC3200

Tool/software: Code Composer Studio

Hello,

I edited the uDMA example program to implement a ping-pong data transfer from an ADC. Then I worked on the I2Cdemo example to read a couple of simple external devices. Once the two programs worked to my satisfaction, I started porting the functions I needed  from the I2Cdemo program (I2C_IF_Open and I2C_IF_Read) to the first program. I checked that the *.h includes of the I2Cdemo were in the target program and added i2c_if.h that was not.

The problem is that the linker does not seem to find i2c_if.c. I checked on Linked Resources, and the file is not there, and I am not been able to figure out how to add it. When I open the Includes folder in the project I see C:/TI/CC3200SDK_1.3.0/cc3200-sdk/example/common, where the file is, but this and the presence of i2c_if.h in the includes do not seem to be enough to link it in.

Could you kindly tell me what am I missing?

I am attaching below the build log.

Thanks,

Ramon


**** Build of configuration Release for project ADCudma_i2c ****

"C:\\TI\\ccsv8\\utils\\bin\\gmake" -k all

Building file: "../main.c"
Invoking: ARM Compiler
"C:/TI/ccsv8/tools/compiler/ti-cgt-arm_5.2.6/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib --abi=eabi -me -Ooff --opt_for_speed=0 --include_path="C:/TI/ccsv8/tools/compiler/ti-cgt-arm_5.2.6/include" --include_path="C:/TI/CC3200SDK_1.3.0/cc3200-sdk/example/common" --include_path="C:/TI/CC3200SDK_1.3.0/cc3200-sdk/inc" --include_path="C:/TI/CC3200SDK_1.3.0/cc3200-sdk/" --include_path="C:/TI/CC3200SDK_1.3.0/cc3200-sdk/driverlib" -g --gcc --define=ccs --define=cc3200 --diag_warning=225 --diag_wrap=off --display_error_number --printf_support=full --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
Finished building: "../main.c"

Building target: "ADCudma_i2c.out"
Invoking: ARM Linker
"C:/TI/ccsv8/tools/compiler/ti-cgt-arm_5.2.6/bin/armcl" -mv7M4 --code_state=16 --float_support=vfplib --abi=eabi -me -Ooff --opt_for_speed=0 -g --gcc --define=ccs --define=cc3200 --diag_warning=225 --diag_wrap=off --display_error_number --printf_support=full -z -m"ADCudma_i2c.map" --stack_size=0x00001000 --heap_size=0x00008000 -i"C:/TI/ccsv8/tools/compiler/ti-cgt-arm_5.2.6/lib" -i"C:/TI/CC3200SDK_1.3.0/cc3200-sdk/driverlib/ccs/Release" -i"C:/TI/ccsv8/tools/compiler/ti-cgt-arm_5.2.6/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ADCudma_i2c_linkInfo.xml" --rom_model -o "ADCudma_i2c.out" "./main.obj" "./pinmux.obj" "./startup_ccs.obj" "./uart_if.obj" "./udma_if.obj" "../cc3200v1p32.cmd" -llibc.a -ldriverlib.a
<Linking>

undefined first referenced
symbol in file
--------- ----------------
I2C_IF_Open ./main.obj
I2C_IF_Read ./main.obj

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "ADCudma_i2c.out" not built
>> Compilation failure
makefile:145: recipe for target 'ADCudma_i2c.out' failed
gmake: *** [ADCudma_i2c.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****