Hi again Kieran,
the value given for tcphdr is the address.
So it seems to be the address of the tcphdr variable
which is 2 byte aligned and not 4 byte, as required.
How can i enforce alignment of that variable?
regards,
Martin
> Subject: RE: [lwip-users] lwip + sam7x = udef exception> From: [EMAIL
> PROTECTED]> To: [email protected]> Date: Wed, 14 Feb 2007 11:28:25 +0000>
> > On Wed, 2007-02-14 at 11:19 +0000, B B wrote:> > > offending instruction:>
> > adds r4, r3, #0x0> > > > offending c statement:> > tcphdr = (struct tcp_hdr
> *)((u8_t *)p->payload + IPH_HL(iphdr) * 4);> > > > Register data:> > R3 =
> 0x0020135c> > R4 = 0x0020b1fa> > CPSR = 0x0000009b> > SPSR_UND = 0x0000001f>
> > > > Packetdata:> > tcphdr @0x0020b1fa> > > Looks to me (not 100% sure what
> "adds" does or the argument format on> your hardware) that it's the
> instruction that is trying to store the> result of that C statement into
> tcphdr that is causing the problem. I> think this because the value of R4
> matches the address given for tcphdr.> Please correct me if you disagree.> >
> The problem would seem to be that tcphdr has an address that is 2 byte>
> aligned, not 4 byte aligned as you require. However, it's not clear> from the
> above to me whether the value give for tcphdr is the address of> the tcphdr
> variable, or the contents of the tcphdr variable (i.e. the> address of what
> it points to).> > Can you clarify this?> > Kieran> > > >
> _______________________________________________> lwip-users mailing list>
> [email protected]> http://lists.nongnu.org/mailman/listinfo/lwip-users
_________________________________________________________________
Get the new Windows Live Messenger!
http://get.live.com/messenger/overview
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users