Re: Floating point calculations on 16 uC
- From: Paul Keinanen <keinanen@xxxxxx>
- Date: Sun, 28 Aug 2005 21:21:36 +0300
On 28 Aug 2005 02:11:32 -0700, "db" <dbahlmann@xxxxxxxxx> wrote:
>I'm doing floating point calculations on a Fujitsu MB90F474 16bit uC.
>All float calculations are done in the main loop context. Sometimes the
>result returns a garbage value. This seems to happen only when
>interrupts are enabled. Note that there are no globals or shared data
>involved.
I have never seen that processor before, but here are some guesses.
Since all the others have posted the most likely explanations, look at
the library routine sources (assuming written in assembler) for using
the stack are without actually pushing the value into the stack, but
using offsets below the stack pointer (assuming the stack grows
downwards).
In which language is the interrupt service routine (ISR) written ? If
in some high level language, are you sure that the language subsystem
support interrupt service routines ?
If written in assembler, are you sure that every register used by the
ISR is really saved ? Pay especially attention to instruction with
side effects, such as implicitly modifying an other register, which is
not saved.
Paul
.
- References:
- Floating point calculations on 16 uC
- From: db
- Floating point calculations on 16 uC
- Prev by Date: Re: Floating point calculations on 16 uC
- Next by Date: Re: mA-hour meter
- Previous by thread: Re: Floating point calculations on 16 uC
- Next by thread: Re: Floating point calculations on 16 uC
- Index(es):
Relevant Pages
|