"[email protected]" <[email protected]> writes: > 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.
ARM9 does not support unaligned load/store. Yours is apparently configured in the round-and-rotate mode. -- Måns Rullgård [email protected] _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

