作者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