Part Number: TMS320C5504
Tool/software: TI C/C++ Compiler
We have a CSS project configured to build for a TMS320C5510 (I couldn't select that part in the part number field), using the Code Generation Tools v3.3.2.
On Windows 10, the project is able to compile, link, and produce a hex file without any errors.
However, importing the project onto a Debian 10 machine, the linker errors out, with the following errors:
Building target: "dsp.out" Invoking: C5500 Linker "/opt/ti/TI_CGT_C5500_3.3.2/bin/cl55" --define=_DEBUG --define=__TMS320C55X__ --symdebug:dwarf --diag_warning=225 --display_error_number --verbose_diagnostics --large_memory_model --memory_model=large --ptrdiff_size=32 --opt_level=2 -z --rom_model --map_file="dsp.map" --reread_libs --search_path="/opt/ti/TI_CGT_C5500_3.3.2/lib" --search_path="/opt/ti/TI_CGT_C5500_3.3.2/include" --stack_size=1024 --sys_stacksize=1024 --warn_sections --xml_link_info="MRI_linkInfo.xml" -o "dsp.out" --library=rts55x.lib "./gps/gps.obj" "./gsm/src/add.obj" "./gsm/src/code.obj" "./gsm/src/decode.obj" "./gsm/src/gsm_decode.obj" "./gsm/src/gsm_encode.obj" "./gsm/src/gsm_ltp.obj" "./gsm/src/gsm_synth.obj" "./gsm/src/long_term.obj" "./gsm/src/lpc.obj" "./gsm/src/preprocess.obj" "./gsm/src/rpe.obj" "./gsm/src/short_term.obj" "./gsm/src/table.obj" "./mdc/mdc_common.obj" "./mdc/mdc_dec.obj" "./mdc/mdc_enc.obj" "./snr/snr.obj" "./source/AGC.obj" "./source/armprintf.obj" "./source/coreasm.obj" "./source/detectA.obj" "./source/detectB.obj" "./source/dsp.obj" "./source/dspdma.obj" "./source/dtmf.obj" "./source/g726_codec.obj" "./source/g726_misc.obj" "./source/gain.obj" "./source/goertzel.obj" "./source/iir.obj" "./source/logbase10.obj" "./source/power_est.obj" "./source/predictor.obj" "./source/predictorada.obj" "./source/process.obj" "./source/tone.obj" "./source/tonegen.obj" "./source/vectors.obj" "../dsp.cmd" <Linking> undefined first referenced symbol in file --------- ---------------- ConvDBGain(short) ./source/AGC.obj _AGC ./source/process.obj >> error: symbol referencing errors - 'dsp.out' not built
process.c and agc.c both include each other's header files, and depend on each other.
This issue is stumping us, because have had success building another C5500 project on this Debian 10 machine, which uses a nearly identical project configuration. Along with this project building fine on Windows 10.
My knee-jerk reaction is Linux version of CSS, or the compiler tools, are not honoring the --reread_libs flag. Thoughts?