Michel He wrote:
> So here, I add some debug info:
>
> <6>[ 172.419753] Xenomai: suspending kernel thread bf062500
> ('rtnet-stack') at 0xbf0ac72c after exception #8
Exception 8 is unaligned access.
>
> bf062500 u STACK_manager [rt_loopback]
>
> Now, let's find 0xbf0ac72c
> 00000000 a tdma_proto.c [tdma]
> bf0abd7c t $a [tdma]
> bf0abdf4 t $d [tdma]
> bf0abdf8 t $a [tdma]
> bf0abee0 t $d [tdma]
> bf0abee4 t $a [tdma]
> bf0abfcc t $d [tdma]
> bf0abfd4 t $a [tdma]
> bf0ac1fc t $d [tdma]
> bf0ac208 t $a [tdma]
> bf0acb28 t $d [tdma]
> bf0acb40 t $a [tdma]
> bf0acd70 t $d [tdma]
>
> bf0ac72c - bf0abd7c = 9b0
>
>
> 0000048c <tdma_packet_rx>:
> ...
> 9b0: e186200c orr r2, r6, ip
Well, you probably got the result wrong, or maybe you are not
disassembling the module currently running, or maybe the exception
address is off by +/-4. As far as I know, an unaligned access may only
happen when dereferencing a pointer, so the faulting instruction should
be an str, an ldr, an stm or an ldm (or maybe a coprocessor instruction).
ISTR we already saw this issue with RTnet on PXA, look in the archives,
I do not remember if it has been fixed, but I believe so, are you using
the last RTnet release?
>
> However I have no idea how to correspond the 9b0 to which line of
> codes from tdma_proto.c ?? Any idea ?
This is a basic GNU binutils question, it has nothing specific to do
with Xenomai or RTnet. If your module is compiled with debug infos, you
can use addr2line or use objdump -S instead of objdump -d.
--
Gilles.
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
RTnet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-users