作者rokira (洛奇拉)
看板LinuxDev
标题[问题] Big/Little Endian平台的Porting
时间Fri Oct 19 00:41:05 2012
想请问各位前辈
如果需要将一个Embedded System (Linux)包含在上面跑的APP
由Little Endian CPU的平台, Porting到Big Endian CPU的平台,
我的认知是 要用支援Big Endian的ToolChain,
将Linux以及也支援Big Endian的Library, 编译出Big-Endian版本的Limux,
想请问的是
1.是否Linux上的Driver 以及在上面执行的APP也需要修改成Big-Endian版本?
2.或是其实程式是否需要修改 也是要看当初程式的写法以及用途?
例如 直接存取记忆体的地方 就可能需要修改?
3.还有什麽特别需要注意的地方?
目前网路上能搜寻到关於porting的资料实在很少,希望有经验的前辈能指点一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.164.11.184
※ 编辑: rokira 来自: 1.164.11.184 (10/19 00:43)
1F:→ alongalone:有用到bit shift的地方你都要注意.. 10/19 08:33
2F:推 godman362:资料转型也要注意,例如将char *转成int *的情况 10/20 09:53
3F:推 askacis:kernel有对应平台endian的函式,呼叫他就可以跨平台使用 10/20 10:30
4F:→ i386:应该是bit field这类的data structure影响最大.. 10/24 01:21