2011-09-14 10 views
0

ubootソースでtsec.cファイルをコンパイルしようとしています。以前はpowerpc toolchainを使っていました。今私はアンドロイド "froyo"に付属のARMツールチェーンを使用しようとしています。 tsec.cが含まれていないとubootはうまくコンパイルされますが、このドライバを含めると次のようなエラーが表示されます: -エラー:tsec.cドライバを使用してubootソースをコンパイル中に不正な命令 `sync '

//ツールチェーン/ arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi- -o -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 -oドライバ/ 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' 
0 -C -fno-スタックプロテクタ
_ -march = ARMv5TE以降-mabi = APCは、GNU -Wall -Wstrict、プロトタイプ

誰かがこのエラーの理解を助けることができますか?私はグーグルで試してみましたが、それは私を助けてくれました。

答えて

0

どこからtsec.cを取得したのかわからないので、ソースが表示されません。私の推測では、アーキテクチャ固有の(MIPS)インラインアセンブリがいくつかあります。

おそらくコードのどこかにasm( "sync")があります。

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

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

+0

uboot source coedのドライバdrivers/net/tsec.cにイーサネットドライバtsec.cがあります。同期がアーム命令でない場合は、このドライバをアーム・プロセッサで使用することはできません。 – iSegFault

+0

最新のソースを入手してみてください。このコミットhttp://git.denx.de/?p=u-boot.git;a=commit;h=19d68d202786efe7400dc2a6412c2d06b2ab38ecがインラインasmを削除しました。 –

関連する問題