Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Endianness in Intel
®
IXP400 Software
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 341
Endianness in Intel
®
IXP400 Software 27
27.1 Overview
The Intel
®
IXP4XX Product Line of Network Processors and IXC1100 Control Plane Processor
support Little-Endian (LE) and Big-Endian (BE) operations. This chapter discusses IXP400
software support for LE and BE operation.
This chapter is intended for software engineers developing software or board-support packages
(BSPs) that are reliant on endianness support in the processor. The chapter is intended as an
introduction to the most important facts regarding endianness as it relates to the IXP400 software.
A more detailed guide to endianness in the IXP42X product line is available in the application note,
Intel
®
IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor:
Understanding Big Endian and Little Endian Modes, which is freely available from the following
Intel
Developer Web site:
http://www.intel.com/design/network/products/npfamily/docs/ixp4xx.htm
Applicability to Specific Processors and Development Platforms
In general, the theories discuss in this chapter are applicable the entire IXP4XX product line. Each
product generation does have some specific endianness related capabilities, as listed in “Silicon
Versions” on page 352.
When discussing board-support package (BSP) issues for the Intel
®
IXP42X Product Line of
Network Processors and IXC1100 Control Plane Processor, this chapter refers to the Intel
®
IXDP425 / IXCDP1100 Development Platform. For the Intel
®
IXP46X Product Line of Network
Processors, this chapter refers to the Intel
®
IXDPG465 Network Gateway Development Platform.
27.2 The Basics of Endianness
Endianness is the numbering organization format of data representation in a computer. Endianness
comes in two varieties: Big and Little. Little-Endian byte ordering assigns the lower byte address to
the low eight bits of a 32-bit memory word, where Big-Endian byte order is the opposite. LE means
that the least-significant byte of any multi-byte data field is stored at the lowest memory address,
which is also the address of the larger field. See Figure 114.
All processors are either Big- or Little-Endian. Some processors, such as those in the IXP4XX
product line and IXC1100 control plane processors, have a bit in a register that allows the
programmer to select the desired endianness.