big-endian和little-endian是指CPU在内存中对字节的存取顺序吧。
今天为xscale編譯toolchain,突然被一些问题所困惑,希望大虾解答:
(1)一個CPU芯片是不是只能支持一种endian方式?例如PXA270中的xscale核心只支持little-endian,那么是不是所有的程序(包括操作系统在内)都必须编译成little-endian才能在PXA270上正确运行呢?
(2)库文件是一些目标文件.o的集合,那么是否也要編譯成CPU所支持的endian格式呢?例如PXA270支持little-endian,是否要把glibc編譯為little-endian格式?
(3)在HOWTO build arm-linux toolchain for ARM/XSCALE以及[url=http://www.linux-france.org/~dmentre/doc/en/ixp2400-linux-toolchain-howto.txt]Howto make the GCC big endian toolchain for IXP2400/Linux (ARM XScale
core) [/url]中編譯了little-endian和big-endian兩個版本的glibc,如果xscale只支持little-endian的話,那么為甚么還要編譯一個big-endian的glibc呢?還是說也有支持big-endian的xscale核心?
(4)network order是与b ig-endian一致的,那么在little-endian的CPU上進行网路傳輸時,操作系統(embedded linux)是否有一段代碼自動進行endian轉換呢?
謝謝指點!!!