lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Problem With dns.c Using 32-Bit Compilers


From: Alain M.
Subject: Re: [lwip-users] Problem With dns.c Using 32-Bit Compilers
Date: Tue, 02 Sep 2008 15:29:05 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)


Grubb, Jared escreveu:
I'm not sure which ARM processor you're referring to, but that can't actually 
be true. By definition in the C standard, every compiler is guaranteed to have 
byte access anywhere it wants (IIRC, a byte is defined as the minimal unit 
addressable on the architecture). The fun part is that a byte (as defined by 
the C standard) is not guaranteed to have 8-bits!

That is correct... and not :(

ARM7 and ARM9r4 do not have physical byte access, that is what I meant. So if the compiler wants byte access, it will do whatever it takes to get the byte, even worse to write it. If you compute pipeline misses, it gets a mess.

There is a very interesting chapter in my ARM book about how to write a program in C in a manner that the compiled code will be efficient. And it is very interesting to see the code generated in Eclipse debugging.

I gess that the same but happen in other 16/32 bit achitectures.

So, this is a case where a specially written macro can make a big difference. One advantage of TCP/IP, is that it was originaly written for mainframes with the same problem and almost averything in the headers is inside 32 bit words.

Alain





reply via email to

[Prev in Thread] Current Thread [Next in Thread]