[En-Nut-Discussion] ARM Alignment for Threads

Bob Wirka bobwirka at yahoo.com
Tue Oct 15 03:40:05 CEST 2013


Yes, you are correct. Actually, I had done that as a test when the flash programming was not working.

I removed that (back to 4 byte alignment), and everything works properly.

So, only the 8 byte stack alignment is needed.


Bob Wirka
Realtime Control Works

On Saturday, October 12, 2013 8:49 AM, Ole Reinhardt <ole.reinhardt at embedded-it.de> wrote:
Hi Bob!

> I also used 8 byte alignment in the .data segment, however I'm sure that's unrelated:
>   .data : AT (__etext)
>   {
>     PROVIDE (__data_start = .);
>     *(.data)
>     . = ALIGN(8);
>     *(.ramfunc)
>     _edata = .;
>     PROVIDE (__data_end = .);
>   } > ram

The above does not aligne .data to 8 byte, but .ramfunc

The . operator always sets the current location counter. And here you
are just "behind" the .data segment. Right?

> I'll remove that later and give it a try with just 8 byte alignment on the heap/stack.


I'll dig out my Ethernut5 and will test it as well.



kernel concepts GmbH            Tel: +49-271-771091-14
Sieghuetter Hauptweg 48         Mob: +49-177-7420433
D-57072 Siegen

More information about the En-Nut-Discussion mailing list