1

Freescale Coldfire(MCF5280C)プロセッサを搭載したボード上で実行されているuCLinux(2.4)で実行されるように、単純なhelloworldアプリケーションをコンパイルしようとしています...ここで何をすべきかよくわかりません。

このハードウェアをターゲットにするには、Freescaleの正しいバージョン/ツールでコンパイルする必要があることを知っているので、Coldfireツールチェーンをダウンロードしてインストールし、自分のツールチェーンがターゲット用であることを確認しました。

mike@linux-4puc:/usr/local/m68k-elf/bin> ./gcc -v
Reading specs from /usr/local/lib/gcc-lib/m68k-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)

gcc "file"単純なタイプのコマンドを試しました。

mike@linux-4puc:/home/mike> /usr/local/m68k-elf/bin/gcc test.c
/usr/local/m68k-elf/bin/ld.real: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status

これはまったく機能しません。したがって、それよりも明らかに複雑です。出力は、使用する前にツールチェーンを構築する必要があるように見えますか?誰かがこれまでにこれをしたことがありますか?何をする必要があるのか​​、またはフラグが必要なだけなのかわからない。

4

2 に答える 2

1

コマンドが呼び出されているm68k-elf-gccか、それらの行に沿って何かがあるかどうかを確認することもできます。これは、クロスコンパイラの一般的な命名です。

あなたの問題に関しては、コンパイラの設定に問題があるようです。crt0.o は、C ランタイム セットアップ コードを含むオブジェクト ファイルです。リンカ (実際にエラーを引き起こしているもの) は、適切にセットアップされていれば、このファイルがどこにあるかを認識している必要があります。

インストールしたら、ステップmake install以降何も変更せずに最後のステップとして実行する必要がありますmake。構成ステップでは、インストールされるはずのパスに基づいて、特定の変数などをセットアップします。

于 2012-10-09T19:43:36.053 に答える
0

FreeScale ツールチェーンはどこで入手しましたか? 彼らのサイトを調べたところ、サードパーティだけが C++ クロスコンパイラを提供しているように見えました。NetBurner から入手したツールチェーン (NetBurner のハードウェアで使用するため) では、crt0.o ファイルが gcc-m68k\m68k-elf\lib ディレクトリに存在します。

于 2012-10-16T22:55:27.497 に答える