看板 LinuxDev 關於我們 聯絡資訊
想請問各位前輩 如果需要將一個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)
alongalone:有用到bit shift的地方你都要注意.. 10/19 08:33
godman362:資料轉型也要注意,例如將char *轉成int *的情況 10/20 09:53
askacis:kernel有對應平台endian的函式,呼叫他就可以跨平台使用 10/20 10:30
i386:應該是bit field這類的data structure影響最大.. 10/24 01:21