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.

IQ Math division error

Other Parts Discussed in Thread: TMS320F28027, CONTROLSUITE

Dear friends,

I am experimenting on Piccolo TMS320F28027 with CCS 5.2.1.00018. I have a nice working code. When i add this line to the code:

GridCurrentFF=_IQdiv(_IQ(1),HVDCVoltage);

i get this error:

errors encountered during linking; "SymmetricPWM.out" not built SymmetricPWM

unresolved symbol __IQ21div, first referenced in ./SymmetricPWM-Main.obj

It is a simple IQ Math division fuction. There are IQ multiplications in the code with no problem.  Variables of "GridCurrentFF" and "HVDCVoltage" are defined as IQ variables.

I checked the forum and couldn't find a solution. From the discussions, i guess i have a linker problem but i don't know how i can solve.

Any help wolud be appreciated, Thank you..

Build Output:


**** Build of configuration F2802x_FLASH for project SymmetricPWM ****

C:\ti\ccsv5\utils\bin\gmake -k all
'Building file: ../SymmetricPWM-Main.c'
'Invoking: C2000 Compiler'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" --silicon_version=28 -g --define="_DEBUG" --define="LARGE_MODEL" --define="FLASH" --include_path="C:/ti/ccsv5/tools/compiler/c2000_6.1.0/include" --include_path="/packages/ti/xdais" --include_path="C:/ti/controlSUITE/development_kits/~SupportFiles/F2802x_headers" --include_path="C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_headers/include" --include_path="C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_common/include" --diag_warning=225 --large_memory_model --preproc_with_compile --preproc_dependency="SymmetricPWM-Main.pp" "../SymmetricPWM-Main.c"
'Finished building: ../SymmetricPWM-Main.c'
' '
'Building target: SymmetricPWM.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" --silicon_version=28 -g --define="_DEBUG" --define="LARGE_MODEL" --define="FLASH" --diag_warning=225 --large_memory_model -z -m"SymmetricPWM.map" --stack_size=0x380 --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:/Users/Deniz/workspace_v5_2/SymmetricPWM" --reread_libs --rom_model -o "SymmetricPWM.out" "C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_headers/cmd/DSP2802x_Headers_nonBIOS.cmd" "./SymmetricPWM-Main.obj" "./SymmetricPWM-DevInit_F2802x.obj" "./DSP2802x_GlobalVariableDefs.obj" "./DSP2802x_CodeStartBranch.obj" "../F28027_FLASH_SymmetricPWM.CMD"
<Linking>

undefined first referenced
symbol in file
--------- ----------------
__IQ21div ./SymmetricPWM-Main.obj


error: unresolved symbols remain
>> Compilation failure
error: errors encountered during linking; "SymmetricPWM.out" not built
gmake: *** [SymmetricPWM.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****


**** Build of configuration F2802x_FLASH for project SymmetricPWM ****
C:\ti\ccsv5\utils\bin\gmake -k all 'Building file: ../SymmetricPWM-Main.c''Invoking: C2000 Compiler'"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" --silicon_version=28 -g --define="_DEBUG" --define="LARGE_MODEL" --define="FLASH" --include_path="C:/ti/ccsv5/tools/compiler/c2000_6.1.0/include" --include_path="/packages/ti/xdais" --include_path="C:/ti/controlSUITE/development_kits/~SupportFiles/F2802x_headers" --include_path="C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_headers/include" --include_path="C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_common/include" --diag_warning=225 --large_memory_model --preproc_with_compile --preproc_dependency="SymmetricPWM-Main.pp"  "../SymmetricPWM-Main.c"'Finished building: ../SymmetricPWM-Main.c'' ''Building target: SymmetricPWM.out''Invoking: C2000 Linker'"C:/ti/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000" --silicon_version=28 -g --define="_DEBUG" --define="LARGE_MODEL" --define="FLASH" --diag_warning=225 --large_memory_model -z -m"SymmetricPWM.map" --stack_size=0x380 --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:/Users/Deniz/workspace_v5_2/SymmetricPWM" --reread_libs --rom_model -o "SymmetricPWM.out"  "C:/ti/controlSUITE/device_support/f2802x/v125/DSP2802x_headers/cmd/DSP2802x_Headers_nonBIOS.cmd" "./SymmetricPWM-Main.obj" "./SymmetricPWM-DevInit_F2802x.obj" "./DSP2802x_GlobalVariableDefs.obj" "./DSP2802x_CodeStartBranch.obj" "../F28027_FLASH_SymmetricPWM.CMD" <Linking>
 undefined first referenced         symbol       in file             --------- ----------------        __IQ21div ./SymmetricPWM-Main.obj

error: unresolved symbols remain>> Compilation failureerror: errors encountered during linking; "SymmetricPWM.out" not builtgmake: *** [SymmetricPWM.out] Error 1gmake: Target `all' not remade because of errors.
**** Build Finished ****