2011-09-14 14 views
0

我想用uboot源碼編譯tsec.c文件。我之前已經完成了,但是使用powerpc工具鏈。現在我正在嘗試使用Android「froyo」附帶的ARM工具鏈。如果不包括tsec.c,UBOOT編譯罰款,但是當我包括該驅動程序,我得到以下錯誤: -錯誤:錯誤的指令`同步',而corss編譯與tsec.c驅動程序的uboot源

//工具鏈/ ARM的Marvell公司-Linux的gnueabi /斌/ ARM-Marvell的-Linux的gnueabi-GCC - g -Os -fno-strict-aliasing -fno-common -ffixed-r8 -msoft-float -D_ KERNEL _ -DTEXT_BASE = 0x0F00000 -I/uboot_sapphire/include -fno-builtin -freestanding -nostdinc -isystem/home/Build/Android_Froyo/vendor/marvell/generic/toolchain/arm-marvell-linux-gnueabi/bin /../ lib/gcc/arm-marvell-linux-gnueabi/4.2.0/include -pipe -DCONFIG_ARM -D_ ARM _ -march = armv5te -mabi = apcs-gnu -Wall -Wstrict-prototypes -fno-stack-protector -c -o drivers/net/tsec.o drivers/net/tsec.c

{standard input}: Assembler messages: 
{standard input}:31: Error: bad instruction `sync' 
{standard input}:73: Error: bad instruction `sync' 
{standard input}:79: Error: bad instruction `sync' 
{standard input}:402: Error: bad instruction `sync' 
{standard input}:2278: Error: bad instruction `sync' 
{standard input}:2286: Error: bad instruction `sync' 
{standard input}:2293: Error: bad instruction `sync' 

有人可以幫助我理解這個錯誤。我嘗試了谷歌搜索,但它的力量幫了我很多。

回答

0

我不知道你從哪裏得到你的tsec.c,所以我看不到源代碼。我最好的猜測是它具有一些特定架構(MIPS)內聯彙編。

您可能會在代碼中的某處找到asm(「sync」)。

發生錯誤是因爲'sync'不是arm指令,所以彙編程序無法識別並組裝它。

要修正錯誤,您必須將驅動程序移植到ARM,這可能不是一項簡單的任務。

+0

uboot source coed中的路徑驅動程序/ net/tsec.c中有一個以太網驅動程序tsec.c。如果同步不是一個手臂指令,那麼我想這個驅動程序不能用於手臂處理器。 – iSegFault

+0

嘗試獲取更新的來源?這個提交http://git.denx.de/?p=u-boot.git;a=commit;h=19d68d202786efe7400dc2a6412c2d06b2ab38ec刪除了內聯asm,這可能會有所幫助。 –