<div dir="ltr"><div>Hi<br></div><div><br>>Here a context switch from the Init to the idle (I guess) thread happens.  The >_User_extensions_Thread_switch<div id=":px">>()
 is called before the context switch and the running thread is checked. 
 So a sp of >0x814d299c must be in the range of the Init stack area.<br><br></div>Yes it is, Init() stack area is 0x814d1a70 -> 0x814d2a74 (4100 bytes). So it looks like the stack pointer is not getting adjusted correctly when task switching into a new thread ? as the rtems_idle task is using the Init() stack pointer.<br>
<br>> nm your-app.exe | grep 'bsp_\(section\|stack\)' | sort<br><br></div>No matches.<br><br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 17 April 2013 12:16, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 04/17/2013 12:32 PM, Matthew J Fletcher wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
 >They should do it all in the same way.  The difference is that some BSPs use<br>
copy and >paste start.S files.  I removed a lot of copy and paste from the ARM<br>
port with mechanical >changes.  It is possible that this broke some BSPs<br>
including the rtl22xx_t.<br>
<br>
I am using the stable 4.10.2 sources BTW. If the above still applies what areas<br>
were changed, so i can investigate ?<br>
</blockquote>
<br></div>
I changed some linker command files and the interrupt support, e.g.<br>
<br>
<a href="http://git.rtems.org/rtems/commit/?id=f4dc319a8f92190c6efac916fb8b9b651d89df7c" target="_blank">http://git.rtems.org/rtems/<u></u>commit/?id=<u></u>f4dc319a8f92190c6efac916fb8b9b<u></u>651d89df7c</a><br>
<br>
You can try also a RTEMS 4.9 version.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 >The stack checker inspects the pattern (0xFEEDF00D, 0x0BAD0D06, 0xDEADF00D,<br>
 >0x600D0D06) at the end of the stack area.  One of these values must be<br>
modified to the >the blown stack message.  You can set the write break point here.<br>
<br>
Are you sure ? looking at the code if the above pattern area is overwritten<br>
then i would see a printk with "damaged pattern area". I dont see that, and<br>
also when examining memory i can see the pattern is intact.<br>
<br>
The other part of the stack check, is making sure the frame pointer is in range<br>
of the stack, it looks like its this check that fails.<br>
<br>
Indeed within Stack_check_Frame_pointer_in_<u></u>range() GCC's<br>
__builtin_frame_address(0); is returning a sp of 0x814d299c, which is outside<br>
the stack range of the IDLE thread 0x814d060c -> 0x814d1610<br>
<br>
the callstack is,..<br>
<br>
Stack_check_Frame_pointer_in_<u></u>range() at check.c:69 0x81180f6e<br>
rtems_stack_checker_switch_<u></u>extension() at check.c:276 0x81180f6e<br>
_User_extensions_Thread_<u></u>switch() at userextthreadswitch.c:41 0x8118cbaa<br>
_Thread_Dispatch() at threaddispatch.c:128 0x8118bce6<br>
_Thread_Enable_dispatch() at threaddispatch.c:59 0x8118bd5e<br>
rtems_task_delete() at taskdelete.c:94 0x81189750<br>
Init() at startup.c:241 0x81007840<br>
</blockquote></div>
[...]<br>
<br>
Here a context switch from the Init to the idle (I guess) thread happens.  The _User_extensions_Thread_<u></u>switch() is called before the context switch and the running thread is checked.  So a sp of 0x814d299c must be in the range of the Init stack area.<br>

<br>
What is the output of<br>
<br>
nm your-app.exe | grep 'bsp_\(section\|stack\)' | sort<div class="HOEnZb"><div class="h5"><br>
<br>
?<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : <a href="tel:%2B49%2089%20189%2047%2041-16" value="+4989189474116" target="_blank">+49 89 189 47 41-16</a><br>
Fax     : <a href="tel:%2B49%2089%20189%2047%2041-09" value="+4989189474109" target="_blank">+49 89 189 47 41-09</a><br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-<u></u>brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div><br>regards</div><div>---</div><div>Matthew J Fletcher</div><br>
</div>