<div dir="ltr">It looks like the CP15 initialization is explicitly enabling unaligned traps, so that is the likely cause. <div style>The BSP has a good polled printk, so I might try to setup something for the exception vectors as well.</div>
<div style>Thanks,</div><div style>Alan</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 1, 2013 at 1:11 PM, Claus, Ric <span dir="ltr"><<a href="mailto:claus@slac.stanford.edu" target="_blank">claus@slac.stanford.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It's not clear what your debugging environment is like, but if you could put some sort of indicator (e.g. a printk, a write to memory that is persistent across reboots, or turn on an LED) in each of the exception vectors (except IRQ, since it will be tickled often by at least clock), then you could tell whether you've taken an exception.  It smells like you're taking an alignment exception and landing in a for (;;) loop.<br>

<br>
It'd interesting to know the pros and cons of enabling unaligned accesses with CP15.  Naively, it might seem like a good idea to always enable these.  Presumably it kills performance to do so, however.<br>
<br>
Ric<br>
<br>
________________________________________<br>
From: <a href="mailto:rtems-users-bounces@rtems.org">rtems-users-bounces@rtems.org</a> [<a href="mailto:rtems-users-bounces@rtems.org">rtems-users-bounces@rtems.org</a>] On Behalf Of Alan Cudmore [<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>]<br>

Sent: Wednesday, May 01, 2013 8:12 AM<br>
To: Gedare Bloom<br>
Cc: <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
Subject: Re: Raspberry Pi BSP debugging<br>
<div class="im"><br>
Great idea. It should be easy enough to try, and it looks like the bit to enable unaligned access is not set in the BSP.<br>
<br>
Thanks,<br>
Alan<br>
<br>
<br>
<br>
</div><div class="im">On Wed, May 1, 2013 at 10:38 AM, Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a><mailto:<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>>> wrote:<br>
Could it be a matter of the compiler (not) knowing the correct<br>
alignment for the target architecture?<br>
<br>
To quote Sebastian from a recent post: "Please have a look in the<br>
ARM1176JZF-S manual.  You may have to enable the unaligned access in<br>
the CP15."<br>
<br>
-Gedare<br>
<br>
</div><div><div class="h5">On Wed, May 1, 2013 at 10:16 AM, Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a><mailto:<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>>> wrote:<br>

> I'm trying to track down a bug in the Raspberry Pi BSP. It will be much<br>
> easier once I get a JTAG device, but for now I have been able to narrow down<br>
> one specific instance where the BSP hangs.<br>
><br>
> The first symptom of this problem was with a shell example. If I type an<br>
> invalid shell command, I noticed it will hang or crash on the strncat<br>
> function.<br>
><br>
> Next, I modified the simple hello world sample and found that it will also<br>
> hang with a strncat call. I copied the strncat function from the newlib<br>
> sources and found that the local copies ( optimized for size and speed )<br>
> work. The attached example shows the two local strncat calls followed by the<br>
> newlib call. It will always hang on the newlib call.<br>
><br>
> This example works on the arm920/gdb simulator and the sparc-sis simulator.<br>
><br>
> Some other notes;<br>
> - The memory map looks reasonable, comparing it to the arm920 map<br>
> - Many other newlib functions work such as strncpy, printf, etc<br>
> - Much of the other basic RTEMS seem to work as well. I can create a RAM<br>
> disk, format it , mount it, copy files, etc. I ran many of the tests such as<br>
> unlimited, ticker, etc.<br>
><br>
> If anyone has an idea I can try let me know. Otherwise I might just wait<br>
> until I can get a JTAG device hooked up.<br>
><br>
> Thanks,<br>
> Alan<br>
><br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> rtems-users mailing list<br>
</div></div>> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><mailto:<a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a>><br>
> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
><br>
<br>
</blockquote></div><br></div>