Hi,

I have something like this on a 32 bit little endian arm9 board (SAM9 
L9260):

char buffer[] = { 0, 1, 2, 3, 4, 5, 6, 7 };

long A = * ( (long*) 
buffer );
long B = * ( (long*) (buffer + 2) );

printf("A: %08x  B: %08x", A, 
B);

I would expect that A = 0x03020100 and B = 0x05040302
instead I get the 
right value for A but  B is 0x01000302 or something like this but anyway not 
what I expect. 
Is there something wrong on the board? It seems that only 4 
bytes aligned long are read correctly.

Thank you in advance,
Antonio.


 



_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to