[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