[arm-gnu] Cortex-M3 and Floating Point Problems
Mark Mulrooney
mmulrooney at teledyne.com
Fri Jun 22 13:53:03 UTC 2012
I hate to say this, but I think I may have spoken too soon. Yesterday after Paul's suggestion that it has to be on an 8 byte boundary, I put the following on all the stacks: __attribute__ ((align (8))). I compiled it, ran the system, and it immediately printed out the correct answer. Thinking that solved the problem I moved on to make some changes in another part of the system and now the printf no longer works again. I backed out those changes and the printf still does not work so I don't think it was anything I added. I have seen it before where it works every once in a blue moon and that's why I was convinced it was the 8 byte boundary problem.
Carlos: You had mentioned there was a bug in printf with regards to %f, does this sound at all like that bug?
Also I was wondering if anyone knows of a good alternative printf/scanf library to use.
Thanks,
Mark
-----Original Message-----
From: Carlos O'Donell [mailto:carlos_odonell at mentor.com]
Sent: Friday, June 22, 2012 09:30
To: Mark Mulrooney
Cc: Paul Brook; arm-gnu at codesourcery.com
Subject: Re: [arm-gnu] Cortex-M3 and Floating Point Problems
On 6/21/2012 5:02 PM, Mark Mulrooney wrote:
> Thanks Paul, that did the trick! Since we're running the Micrium RTOS
> each task's stack was not aligned to an 8 byte boundry.
Excellent! That's odd that the stack is *not* aligned to an 8-byte boundary as that is a *requirement* under the EABI.
Cheers,
Carlos.
--
Carlos O'Donell
Mentor Graphics / CodeSourcery
carlos_odonell at mentor.com
carlos at codesourcery.com
+1 (613) 963 1026
More information about the arm-gnu
mailing list