2017-03-10 41 views
0

我有一個COM-express模塊,由PactronARMADA XP 78460組成。該模塊支持小端和大端模式。 我能夠用Marvell toolchain編譯內核版本(zImage),DTS和根文件系統(使用Buildroot)作爲大端。 現在我正在編寫一個uboot(版本2011.12)for big endian,但目前爲止還沒有成功,因爲我有一些問題鏈接已經編譯成little endian的一些ddr3庫,我無法找到這些庫的正確源文件。
現在我的問題是,是否有必要在大端編譯u-boot。我認爲它需要在大端編譯,如this HW spec page 95所述,如果圖像編譯爲Big endian模式,圖像的響應性切換回大端模式,但我不確定。 如果有必要編譯u-boot在big endian,我應該聯繫pactron支持發送這些庫的源文件。這裏是我看到,當我運行make是否需要將u-boot編譯爲big endian才能以big endian模式加載zImage

錯誤/home/asoufi/BIGENDIAN/Marvell_toolchain_201301/armebv7-marvell-linux-gnueabi-softfp_i686/bin/../lib/gcc/armeb-marvell-linux- gnueabi/4.6.4 /../../../../ armeb-marvell-linux-gnueabi/bin/ld:./src_ddr/ddr3_training_axp.lib(ddr3_hw_training.o):編譯爲一個小端系統和目標是大端

謝謝

回答

0

什麼你上面張貼顯示編譯錯誤的位置,是的,你沒有所有的源代碼被編譯的方法相同。是的,你應該首先要求Pactron支持以這種方式運行你的硬件。

+0

謝謝Tom,你能否澄清一下u-boot編譯成little endian的選項。如果u-boot是小端,並且所有其他圖像(zImage,DTS和根文件系統)都是大端,那麼u-boot如何與zImage,DTS和根文件系統進行交互。這樣做是否足以說明我的平臺正在運行BIG endian,或者必須讓u-boot執行big endian。 –

+0

我在說你需要(可能)讓包括U-Boot在內的世界變得不是LE,因此需要與你的供應商談論他們給你的任何顯然只有二進制的斑點(這是一個GPL違規)。 –