AnsweredAssumed Answered

The hardware floating point unit in MPC8280 didn't work

Question asked by 榕 张 on Feb 16, 2017
Latest reply on Jan 18, 2018 by 榕 张

Hello, I use the CodeWarriorV8.8 application without operating system to compile MPC8280, and the application file is running  incorrectly when the board directly boots because hardware floating point unit is not working. I use lfs floating point instruction to store  1.0 which is 0x3F800000 in IEEE 745 into 32 floating point registers. The instruction is following:

 

mtfsfi 7,0

mtfsfi 0,0

 

addis r5,0, 0x3f800000

ori r5,r5,0

lfs fp0,0(r5)

...

lfs fp31,0(r5)

 

And floating point registers are not 1.0 but -6.3424x10^-36.

But I use the USB Tag to debug, and the floating point unit is working correctly where 1.0 is 0x3ff00000.

 

In the bare case, what CodewarroirV8.8 also need to configure or what procedures also need to add, in order to make the normal work of the hardware floating point unit of MPC8280?

Outcomes