Use double precision floating point in V850ES with CA850 compiler?


  I have some experience with few MCU architectures from two different producers and compilers, but I'm new to the V850 architecture and CA850 compiler. Now I decide to use uPD70F3793 for my project with CubeSuite and CA850 compiler but faced one problem with the floating point computations.

  Is there any way to use double precision floating point with CA850, because in my project is critical to use such precision and many trigonometric computations? So far I see in the CA850 documentation that DOUBLE is treathed as FLOAT in 4 byte size. The results from double to floar in my system varies in example from 130 degrees of inclination using doble to 150 degrees of inclination using float variables, so I can't use float instead of double variables and trigonometric functions.

  Does anyone have experience with double precision floating point using V850ES MCU?


  • The CA850 manual says float and double are the same, 32 bit wide. So I don't think you have a chance to get 64 bit double using CA850.

    If you need 64 bit doubles you have to use IAR EWV850 or GreenHills Multi.

  • Yes, unfortunately I can't use Cube Suite environment (actually it is very nice user fiendly dev,sim,debug environment) with other compiler tnan CA850, and anyway the IAR compiler is not free, so i have to think for another workaround.