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
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users