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.

F28377D FPU Tables



We are porting F28335 code to a F28377D  that makes use of the FPU Fast RTS library and associated FPU tables in the Boot ROM.  I can't seem to find any reference to the FPU in the F28377 literature.  Does the F28377D support the Fast RTS libraries, and if so where in the Boot ROM are the tables located?

Thanks,

Dave

  • Hi Dave,

    I dont think the FPU tables are in the boot ROM of the 28377. You can still use the Fast RTS library but you will have to load up the tables to FLASH, i.e. in the linker command file assign FPUMathTables to a FLASH section and get rid of the NOLOAD designation.

    Ill check with out boot ROM expert whether the tables are in there or not.

  • Thanks Vishal, I had a feeling that was the case.  I look forward to hearing what your Boot ROM expert says, if they are in there we can save the Flash space.

  • I just checked with him, the tables were taken out of bootROM on account of the fact that the 2837x comes with the TMU which does the trigonometric functions a lot faster than the fastRTS routines. 

    If you are interested in trying it out. you basically include math.h in your .c file, in the project properties you enable --float_support=fpu32, --tmu_support=tmu0, --fp_mode=relaxed. What that does is translate any std lib trig function (sin(), cos(), etc) into the equivalant set of TMU instructions.

  • Thanks for the fast response Vishal. I appreciate the tips on using the TMU. We'll take your advice and look to use the TMU rather than the Fast RTS library.

    -Dave
  • I have a quick question on the same topic.

    I need to port the sincos fast RTS function from 28335 onto the 28377D using TMU. How is this fucntion performed with the TMU?
    According to your reply we should not use the FAST TRS Library with the 28377..


    Thank you
  • Hi,

    there is no direct equivalent to the sincos() for the TMU. you would have to call the sin() then cos(). Just FYI you need to set --tmu_support=tmu0, --fp_mode=relaxed, and include math.h in your .c file to get the compiler to replace these calls with the TMU sine and cosine instructions.

    Now im hoping that with optimization turned on the compiler might interleave these two operations so that some of the delay slots get used.