0

uboot ソースを使用して tsec.c ファイルをコンパイルしようとしています。以前にそれを行ったことがありますが、powerpc ツールチェーンを使用しています。現在、Android「froyo」に付属のARMツールチェーンを使用しようとしています。tsec.c が含まれていない場合、uboot は正常にコンパイルされますが、このドライバーを含めると、次のエラーが発生します:-

//toolchain/arm-marvell-linux-gnueabi/bin/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 -ffreestanding -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 ドライバ/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'

誰かがこのエラーを理解するのを手伝ってくれますか? 私はグーグルを試しましたが、それは私を大いに助けました。

4

1 に答える 1

0

どこから tsec.c を入手したのかわかりませんので、ソースがわかりません。私の推測では、アーキテクチャ固有 (MIPS) のインライン アセンブリが含まれていると思われます。

コードのどこかに asm("sync") があるはずです。

このエラーは、「sync」がアーム命令ではないため、アセンブラがそれを認識してアセンブルできないために発生します。

エラーを修正するには、ドライバを ARM に移植する必要がありますが、これはおそらく簡単な作業ではありません。

于 2011-09-14T11:29:53.240 に答える