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.
I just imported a CCS v3.3 project into v5.3 and I'm getting the error shown above.
Of course, I never had any errors in v3.3.
Thanks
OK, here's the complete build output:
**** Build of configuration Debug for project EAPS ****
"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
'Building target: C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" -v28 -ml -mt -g --display_error_number --diag_wrap=off -k --output_all_syms --asm_directory="C:/EAPS_CCSv5.3/src/Debug" --obj_directory="C:/EAPS_CCSv5.3/src/Debug" --obj_extension=.obj --asm_extension=.asm -z --stack_size=0x03E0 -m"C:/EAPS_CCSv5.3/src/Debug/EAPS.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/lib" -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/include" -i"C:/EAPS_CCSv5.3/src/EAPS" -i"C:/EAPS_CCSv5.3/src" -i"C:/EAPS_CCSv5.3/lib" --reread_libs --display_error_number --diag_wrap=off --absolute_exe --entry_point=main --rom_model -o "C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out" "C:/EAPS_CCSv5.3/src/Debug/vg_ahrs.obj" "C:/EAPS_CCSv5.3/src/Debug/magcalibration.obj" "C:/EAPS_CCSv5.3/src/Debug/globals.obj" "C:/EAPS_CCSv5.3/src/Debug/VgGlobals.obj" "C:/EAPS_CCSv5.3/src/Debug/SDFlash28x_CsmKeys.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_SysCtrl.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Sci.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_PieVect.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_PieCtrl.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Mcbsp.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Gpio.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_GlobalVariableDefs.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_DefaultIsr.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_CpuTimers.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_CodeStartBranch.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Adc.obj" "C:/EAPS_CCSv5.3/src/Debug/AssyMain.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_serial.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Proc.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Filter.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Cal.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Bit.obj" -l"rts2800_ml.lib" -l"IQmath.lib" -l"Flash2812_API_V210.lib" "C:/EAPS_CCSv5.3/src/F2812ram.cmd"
<Linking>
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/IQmath.lib<IQ24toF.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Erase.obj>": compatibility cannot be determined
>> Compilation failure
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_EraseSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Globals.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Init.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Internals.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Prog.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Prog_Pulse.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_ClearSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_CompactSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Delay.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_DisInt.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Erase_Pulse.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_ClearLoop.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Compact_Pulse.obj>": compatibility cannot be determined
undefined first referenced
symbol in file
--------- ----------------
main
error #10234-D: unresolved symbols remain
warning #10062-D: entry-point symbol "main" undefined
error #10010: errors encountered during linking; "C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out" not built
gmake: *** [C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
Yes, there is a main function in AssyMain.c.
This project works fine in CCS v3.3, but we've updated from Windows XP to 7.
Thanks
Okay, I can see that AssyMain.obj is included on the command line for the link step. From the name of this file, and from the fact that the entry point is not _c_int00, I assume this is an assembly-only project, so there is no need to name the main function "_main", as you would for a C project. I don't see an obvious problem so far.
Please verify that the symbol "main" shows up in the object file AssyMain.obj by running the command-line command:
ofd2000 AssyMain.obj
You're looking for the "Symbol Table", which should have an entry for main like so:
Symbol Table id name value kind section binding type -- ---- ----- ---- ------- ------- ---- 7 main 0x00000000 defined .text global object
I'm guessing that the original project had something like RESET as an entry point, but the new project has "main", and that your assembly file doesn't have a ".global main" directive.
Here's the line from the ofd2000 output:
119 _main 0x000001a2 defined .text global object
BTW, this project is a C program. I tried changing the branch location in DSP28_CodeStartBranch.asm from _c_int00 to _main to see if it would fix this problem. It didn't.
However, in the map file I see the following:
003f1ee8 _main
UNDEFED main
Thanks
You use the option --entry_point=main, which expects the function to appear as "main" in the symbol table. Your symbol actually appears as "_main", which is not the same. You need to change the assembly file to rename _main to main, or change the linker command-line options to include --entry_point=_main
Alternatively, you could change the entry point to _c_int00, which sets up the system and then calls _main.
Have a look at the project in the old version of CCS; no doubt it will have a different entry point than you presently have.
This project originally used _c_int00 as the entry point. I didn't change it to use _main until I got the build error which is the subject of this discussion. Nothing was changed after migrating the project from v3.3 to v5.3.
I changed the entry point back to _c_int00 and removed the entry point from the .pjt file. I still get the same build error.
**************************************************************************
From running ofd2000 AssyMain.obj I get:
119 _main 0x000001a2 defined .text global object
**************************************************************************
From the map file:
003f1ee8 _main
UNDEFED main
**************************************************************************
From searching the workspace for "main":
73: <option id="com.ti.ccstudio.buildDefinitions.C2000_6.1.linkerID.ENTRY_POINT.419157225" superClass="com.ti.ccstudio.buildDefinitions.C2000_6.1.linkerID.ENTRY_POINT" value="main" valueType="string"/>
**************************************************************************
Thanks
Changing the entry point to _c_int00 should have been sufficient. Please show us your new command line options from the build console for the link step.
Here's the whole output:
**** Build of configuration Debug for project EAPS ****
"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
'Building target: C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" -v28 -ml -mt -g --display_error_number --diag_wrap=off -k --output_all_syms --asm_directory="C:/EAPS_CCSv5.3/src/Debug" --obj_directory="C:/EAPS_CCSv5.3/src/Debug" --obj_extension=.obj --asm_extension=.asm -z --stack_size=0x03E0 -m"C:/EAPS_CCSv5.3/src/Debug/EAPS.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/lib" -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/include" -i"C:/EAPS_CCSv5.3/src/EAPS" -i"C:/EAPS_CCSv5.3/src" -i"C:/EAPS_CCSv5.3/lib" --reread_libs --display_error_number --diag_wrap=off --absolute_exe --entry_point=main --rom_model -o "C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out" "C:/EAPS_CCSv5.3/src/Debug/vg_ahrs.obj" "C:/EAPS_CCSv5.3/src/Debug/magcalibration.obj" "C:/EAPS_CCSv5.3/src/Debug/globals.obj" "C:/EAPS_CCSv5.3/src/Debug/VgGlobals.obj" "C:/EAPS_CCSv5.3/src/Debug/SDFlash28x_CsmKeys.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_SysCtrl.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Sci.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_PieVect.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_PieCtrl.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Mcbsp.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Gpio.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_GlobalVariableDefs.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_DefaultIsr.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_CpuTimers.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_CodeStartBranch.obj" "C:/EAPS_CCSv5.3/src/Debug/DSP28_Adc.obj" "C:/EAPS_CCSv5.3/src/Debug/AssyMain.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_serial.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Proc.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Filter.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Cal.obj" "C:/EAPS_CCSv5.3/src/Debug/ASPI_Bit.obj" -l"rts2800_ml.lib" -l"IQmath.lib" -l"Flash2812_API_V210.lib" "C:/EAPS_CCSv5.3/src/F2812ram.cmd"
<Linking>
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/IQmath.lib<IQ24toF.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Erase.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_EraseSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Globals.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Init.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Internals.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Prog.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Prog_Pulse.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_ClearSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_CompactSector.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Delay.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_DisInt.obj>": compatibility cannot be determined
>> Compilation failure
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Erase_Pulse.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_ClearLoop.obj>": compatibility cannot be determined
warning #16002-D: build attribute vendor section TI missing in "C:/EAPS_CCSv5.3/lib/Flash2812_API_V210.lib<Flash28_Compact_Pulse.obj>": compatibility cannot be determined
undefined first referenced
symbol in file
--------- ----------------
main
error #10234-D: unresolved symbols remain
warning #10062-D: entry-point symbol "main" undefined
error #10010: errors encountered during linking; "C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out" not built
gmake: *** [C:/EAPS_CCSv5.3/src/EAPS/../Debug/EAPS.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
Even though I edited the .pjt file to remove the entry point "main", it still showed up in the build log.
So I deleted the whole project folder, made a new folder, copied all the source into it, deleted the entry point from the .pjt file, and imported the 3.3 project again. This time it built without errors.
I ran "Build all" and "Clean" multiple times after editing the .pjt file. How do you force CCS to really rebuild from scratch?