CCS 4.12 TMS320LF2407A Linking problem

Hi all,i am doing my project work in TMS320LF2407A EZDSP developer kit.I have developed my control system with vissim developer for C2407 and generated c code out of it.while compiling this code,no errors occur.But while linking process i have following error..

Undefined Destination Symbol ---------- -------------- _check realDSP.obj _checkSS realDSP.obj _checkES realDSP.obj _matMul realDSP.obj _matDecl realDSP.obj _pulseTrain realDSP.obj

symbol referencing errors realDSP.out not built I have included all the header files associated with vissim and CCS4.12(math.h,cgen.h,cinit.h....).Also i have included rts2xx.lib.I have checked their syntax and variable types, still i couldnt resolve the problem.So,please help me regard this

Thanks and regards, S.Suresh kumar

help with fixed point block

hello ander89,sorry for the delayed response.I have a problem with the downloaded vissim7 version...since it is demo version,my work doesnt got saved.also i did the ADC input of the project from the previously compiled .out file.Will it be correct..or do you have another method to do so...Another thing is eventhogh my work doesnt get saved,i have got the c code....please help in the regard to include ADC block

My model in vissim

thanks dear Ander89.thans for your kind reply.I just try your suggestion.then with this i just attached my vissim model of my project.Please go thro it and suggest me whats the solution indly..

Thanks and regards s.suresh

You must use fixed-point blocks

Hi Suresh, You must be careful to use only fixed-point blocks on the F2407. Since there is no hardware floating point unit on the F2407, floating point will run, but it is emulated in the software and very slow. If you turn on View > Data Types, floating point blocks connectors are colored RED, scaled-fixed point are yellow and int are green. You want all yellow and green. The blocks you used for your motor control came from the Motion menu. They are designed for simulation only, not for embedded development. You must use the block under VisSim/DSP > TI 16-Bit Digital Motor Control Blocks
Look also at VisSim/DSP > Examples > Digital Motor Control. What sort of motor control do you want to do?

about project

hi Anders89,Again i thank you very much,actually the quated project blocks r used for harmonic filters for power systems. The control techniqe used here is Synchronous reference frame technique which actually have filter out the higher frequency harmonic contents than 50Hz and the PI and voltage controller units (which again uses the PI technique).These techniques used to generate PWM control signals to switch the Inverter switches according to the frequency of the harmonics in the power lines.actually i want to ask u question that do the floating point usage in LF2407 will result in the simulation error?because the waveform i expect doesnt resulted...Please help in that regard also..(actually this control blocks are worked well in matlab-simulink) Thanks and regards S.Suresh kumar

The compile/link error is due to use of VisSim "Motion" blocks

The VisSim Motion blocks found under the "Motion" menu item are for simulation only. Because they contain a special protection DLL, you get a link error when you try to compile them. They are designed for high fidelity simulation of electric motors, not for embedded development of controls. You can use them for simulation of the motor, but not for embedded control. This means that you must use the fixed-point embedded version of park/inverse park, inverse clarke, PID, digital filters, space vector wave form generation etc. VisSim has them, you must use them if you want to run on the DSP. If you only want to simulate, then you may continue to use the floating point blocks. There are a number of problems with your diagram. Here is a list:

  • You use all floating point blocks on a fixed-point CPU
  • Your diagram is clocked at 100 Hz. Normally motor controllers sample at 5-20 kHz
  • You use "realtime" block (which reports time in millisec) instead of ADC for current measurement
  • You do not have a full compare PWM block to generate PWM waveforms
  • You have many unconnected blocks.

Again, I suggest you look at existing examples under the VisSim/DSP > Examples > Digital Motor Control

Download the free ccs v3.3

Confusingly, TI has created a new CCS v4 based on the open source Eclipse platform, but it very different from your CC v4.12. According to TI documentation, CCS v4 it only supports C28x, not c24x. You can download a free 32K limited version of CCS v3.3 here

Please attach your model so we may test it.