Forums

error compiling floating point with CCS 3.3 for TI F28335 dsp

Started by Unknown May 19, 2008
Hi!

I need some help to know what I am doing wrong.

I am a new user of codecomposer. We've bought at University a Technosoft kit
based on TI DSP F28335, that supports floating point operations.

When I try to compile this message is shown

Linking...
lnk2000.exe C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.cmd
undefined first referenced
symbol in file
--------- ----------------
FS$$MPY C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$SUB C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$TOU C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
U$$TOFS C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$ADD C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$CMP C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$DIV C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$NEG C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
>> error: symbol referencing errors - 'svpwm.out' not built
There are errors

When I delete this section of code its compile well
-------***********------------***************-------------
void tiemposHADIOUCHE (Uint16 *triggTimes, float pwm_period, float Vd, float
Vq, Uint16 sector)
{

float aux1= -0.133974596; // (sqrt(3)-2)/2
float aux2= 0.366025403; // (sqrt(3)-1)/2
float THADI[7];

THADI[0]= 5;
THADI[1]= pwm_period * (-aux1*Vd - Vq);
THADI[2]= pwm_period * (aux2*Vd - aux2*Vq);
THADI[3]= pwm_period * (Vd + aux1*Vq);
THADI[4]= pwm_period * (Vd - aux1*Vq);
THADI[5]= pwm_period * (aux2*Vd + aux2*Vq);
THADI[6]= pwm_period * (-aux1*Vd + Vq);

-------***********------------***************-------------

It seems that it doesn't compile floating point operations.

Does anybody could help me with this problem?

Best regards,
Joel Prieto
i have not used 28335. this is my guess.
if u are using sprc530 or the "hardware abstraction layer" or tidcs for 28335 then just above your "examples" folder there should be something like "common" , "source" folder. there should be a file which deals with pwm generation. this file might have the declarations that are missing in your project.
find the right file, right click on your project and add the file

hope this helps

Joel Prieto Corval wrote:
Hi!

I need some help to know what I am doing wrong.

I am a new user of codecomposer. We've bought at University a Technosoft kit
based on TI DSP F28335, that supports floating point operations.

When I try to compile this message is shown

Linking...
lnk2000.exe C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.cmd
undefined first referenced
symbol in file
--------- ----------------
FS$$MPY C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$SUB C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$TOU C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
U$$TOFS C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$ADD C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$CMP C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$DIV C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$NEG C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
>> error: symbol referencing errors - 'svpwm.out' not built
There are errors

When I delete this section of code its compile well
-------***********------------***************-------------
void tiemposHADIOUCHE (Uint16 *triggTimes, float pwm_period, float Vd, float
Vq, Uint16 sector)
{

float aux1= -0.133974596; // (sqrt(3)-2)/2
float aux2= 0.366025403; // (sqrt(3)-1)/2
float THADI[7];

THADI[0]= 5;
THADI[1]= pwm_period * (-aux1*Vd - Vq);
THADI[2]= pwm_period * (aux2*Vd - aux2*Vq);
THADI[3]= pwm_period * (Vd + aux1*Vq);
THADI[4]= pwm_period * (Vd - aux1*Vq);
THADI[5]= pwm_period * (aux2*Vd + aux2*Vq);
THADI[6]= pwm_period * (-aux1*Vd + Vq);

-------***********------------***************-------------

It seems that it doesn't compile floating point operations.

Does anybody could help me with this problem?

Best regards,
Joel Prieto
Thanks chirag



I wrote technosoft about the problem. It seems that it is missed the library
that handles floating point operations. Because I ve tried a simpler
program and I still have the problem. I will write about the tests soon.



joel





#include "..\DSP28335_Regs.h"

#include "..\DSP28335_RegDef.h"

void main(void)

{

float x,y,z;



z=56;

y= 54.3;

x=y/z;

}





And the compilation error is



Compiling...

cl2000.exe --symdebug:coff -as -v28 -q -qq -k -ss -o0 -ml
D:\MSWIN2833x_PRO\MyProjects\prueba\prueba.c

D:\MSWIN2833x_PRO\MyProjects\prueba\prueba.c

"D:\MSWIN2833x_PRO\MyProjects\prueba\prueba.c", line 5: warning: variable
"x" was set but never used

Linking...

lnk2000.exe D:\MSWIN2833x_PRO\MyProjects\prueba\prueba.cmd

undefined first referenced

symbol in file

--------- ----------------

FS$$DIV
D:\MSWIN2833x_PRO\MyProjects\prueba\prueba.obj

>> error: symbol referencing errors - 'prueba.out' not built







_____

De: c... [mailto:c...] En nombre
de chirag jagadish
Enviado el: martes, 20 de mayo de 2008 3:35
Para: c...
Asunto: Re: [code-comp] error compiling floating point with CCS 3.3 for TI
F28335 dsp



i have not used 28335. this is my guess.
if u are using sprc530 or the "hardware abstraction layer" or tidcs for
28335 then just above your "examples" folder there should be something like
"common" , "source" folder. there should be a file which deals with pwm
generation. this file might have the declarations that are missing in your
project.
find the right file, right click on your project and add the file

hope this helps

Joel Prieto Corval us.es>
wrote:
Hi!

I need some help to know what I am doing wrong.

I am a new user of codecomposer. We've bought at University a Technosoft kit
based on TI DSP F28335, that supports floating point operations.

When I try to compile this message is shown

Linking...
lnk2000.exe C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.cmd
undefined first referenced
symbol in file
--------- ----------------
FS$$MPY C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$SUB C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$TOU C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
U$$TOFS C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$ADD C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$CMP C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$DIV C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
FS$$NEG C:\CCStudio_v3.3\MyProjects\6F_svpwm\svpwm.obj
>> error: symbol referencing errors - 'svpwm.out' not built
There are errors

When I delete this section of code its compile well
-------***********------------***************-------------
void tiemposHADIOUCHE (Uint16 *triggTimes, float pwm_period, float Vd, float
Vq, Uint16 sector)
{

float aux1= -0.133974596; // (sqrt(3)-2)/2
float aux2= 0.366025403; // (sqrt(3)-1)/2
float THADI[7];

THADI[0]= 5;
THADI[1]= pwm_period * (-aux1*Vd - Vq);
THADI[2]= pwm_period * (aux2*Vd - aux2*Vq);
THADI[3]= pwm_period * (Vd + aux1*Vq);
THADI[4]= pwm_period * (Vd - aux1*Vq);
THADI[5]= pwm_period * (aux2*Vd + aux2*Vq);
THADI[6]= pwm_period * (-aux1*Vd + Vq);

-------***********------------***************-------------

It seems that it doesn't compile floating point operations.

Does anybody could help me with this problem?

Best regards,
Joel Prieto