6

Linux Ubuntuを実行しているFreescale(i.MX53)のARMCoretex-A8開発ボードがあります。正常に起動し、マウス/キーボード/ターミナルでシステムにアクセスできます。

まず、PCでアプリケーションを実行するときと同じように、ホストOS内のボードでアプリケーションを実行したいと思います。

私の問題は、gccに基づくYAGARTOのようなツールチェーンを使用してテストプログラムをコンパイルすることです。スタートアップスクリプトを定義していないため、リンクに問題が発生します。

「ベアメタル」構成の構築(カーネルのコンパイル、ロードおよびリンクスクリプトの作成など)に関する情報はたくさんありますが、ホストOSでアプリケーションを実行するのに役立つ情報はありません。

私の開発環境はWindows7で実行されています。また、Linux X86で実行するオプションもありますが、これがARMアプリケーションの作成に役立つとは思えません。

4

1 に答える 1

6

ARM-Linuxアプリケーション開発では、ARMツールチェーンがインストールされたLinux Host(x86)マシンを選択することをお勧めします。Ubuntuデスクトップマシンでは、次のコマンドを使用してARMツールチェーンをインストールできます。

apt-get install gcc-arm-linux-gnueabi

ツールチェーンのインストール後、クロスコンパイルに次のコマンドを使用できます。

gcc-arm-linux-gnueabi-gcc -o hello hello.c

このツールチェーンを使用すると、スタートアップコードを必要とせずに、標準Cライブラリを使用してCプログラムをクロスコンパイルできます。アプリケーションは、ホストLinux(x86)プラットフォームでクロスコンパイルし、ターゲットLinux(ARM)プラットフォームで実行できます。

Windows版のARM-Linuxツールチェーンも利用できます。ここから入手できます。

Linaro Developers Wiki -Linux on ARMの改善に焦点を当てたオープンな組織は、あなたの仕事の良い参考になるでしょう。

于 2013-01-29T10:16:47.323 に答える