[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bluetooth-dev] What's the difference - running stack on PC v ersus on ARM???
>>>>> "Peter" == Peter Kjellerstedt <email@example.com> writes:
Peter> Differences between a PC (i.e., x86) and ARM are most likely
Peter> due to the difference in endianness. The PC is using a little
I don't think that is it. Differences between the ARM and PC (x86) are
likely due to differences between `char', `signed char' and `unsigned
The ARM processors generally use "little endian" mode. They have a
switch like the PowerPC that can change at boot time between "big" and
"little" endian modes. However, all ARM uProcessors (except Hitachi
or Samsung?) have set up the on-board peripherals to use little endian
mode. So most ARM systems use little endian mode. Just like most
PowerPC systems use big endian mode. The processors are capable of
both, but in reality they are usually in one mode.
Now, the ARM treats `unadorned' characters as "unsigned char" as it
can represent them in this form more easily. The PC (x86) and most
other compilers treat "char" as "signed char". Most programmers
aren't aware that this is a possible portability issue. Endianess is
one of the bigger portability problems, but not in this case. Alignment
issues would also be big on the portability list...
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to firstname.lastname@example.org