Yet another in my series of article at embedded.com has been published:
For most programmers, details of computer architecture are of no interest or importance. Even embedded developers, who normally do concern themselves with details, when programming in a high level language, ignore matters like cache configuration. Factors like memory location and size do matter, when looking at the project as a whole, but even these parameters do not influence day to day coding.
The order in which bytes are stored in a word – the endianness – of the CPU in use can often also be ignored. However, once in a while, an appreciation of this matter is critical. The same consideration applies to transmission of data; what order are bytes sent down a serial line or over a network? This article reviews exactly what endianness means and how it affects embedded software.