2.クロスコンパイル環境構築(x86/ARM)
前提:
ダウンロードしたパッケージは/usr/local/srcにあるものとします
@ ARM用binutilsの導入
$cd /usr/local/src
$bzcat binutils-2.14.90.0.7.tar.bz2 | tar xvf -
$cd binutils-2.14.90.0.7 |
@.ARM用のワークディレクトリを作成します
$mkdir -p binutil_arm
$cd binutil_arm |
A.ARM用のbinutilsを構成します
既に本で紹介されているので今回の環境でどのくらいの構築時間がかかるのかを計って見たいと思います(計測にはtimeコマンドを使用します)
| $time ../configure --program-suffix=-arm --target=arm-gba-elf |
オプション説明:
--program-suffix:バイナリーファイルに-armという識別子をつけます
--target:リンカープログラム
構成に約80秒かかりました(例なので必ずしもこの結果になるとは限りません)
B.ARM用binutilsのコンパイル
コンパイルに約645秒かかりました
C.ARM用binutilsの導入
/usr/local/bin以下にバイナリファイルが導入されます
導入ファイル:
| add2line-arm |
ar-arm |
as-arm |
c++filt-arm |
ld-arm |
| nm-arm |
objcopy-arm |
objdump-arm |
ranlib-arm |
readelf-arm |
| size-arm |
strings-arm |
strip-arm |
|
|
/usr/local/arm-gba-elf以下にリンカーファイルなどが導入されます
A x86用binutilsの導入
$cd /usr/local/src
$cd binutils-2.14.90.0.7 |
@.x86用のワークディレクトリを作成します
$mkdir -p binutil_i686
$cd binutil_i686 |
A.x86用のbinutilsを構成します
ARM用と同様に構築時間を計って見ます
構成に約80秒かかりました
ARM用と時間は変わりませんでした
B.x86用binutilsのコンパイル
コンパイルに約740秒かかりました
100秒くらいARM用に比べるとかかりました
C.x86用binutilsの導入
/usr/local/bin以下にバイナリファイルが導入されます
導入ファイル:
| add2line |
ar |
as |
c++filt |
ld |
| nm |
objcopy |
objdump |
ranlib |
readelf |
| size |
strings |
strip |
gprof |
|
/usr/local/i686-pc-linux-gnu以下にリンカーファイルなどが導入されます
B ARM用GCCの導入
$cd /usr/local/src
$bzcat gcc-core-3.3.2.tar.bz2 | tar xvf -
$cd gcc-3.3.2 |
@.ARM用のワークディレクトリを作成します
$mkdir -p gcc_arm
$cd gcc_arm |
A.ARM用のGCCを構成します
既に本で紹介されているので今回の環境でどのくらいの構築時間がかかるのかを計って見たいと思います(計測にはtimeコマンドを使用します)
$time ../configure --program-suffix=-arm --target=arm-gba-elf \
--disable-shared -disable-threads --disable-nls |
構成に約115秒かかりました
B.ARM用GCCのコンパイル
コンパイルに約17分40秒かかりました
C.ARM用GCCの導入
/usr/local/bin以下にバイナリファイルが導入されます
導入ファイル:
| gconv-arm |
gccbug-arm |
arm-gba-elf-cpp |
| arm-gba-elf-gcc |
arm-gba-elf-gcc-3.3.2 |
|
/usr/local/arm-gba-elf以下にCプリプロセッサなどが導入されます
C x86用GCCの導入
$cd /usr/local/src
$cd gcc-3.3.2 |
@.x86用のワークディレクトリを作成します
$mkdir -p gcc_i686
$cd gcc_i686 |
A.x86用のGCCを構成します
ARM用と同様に構築時間を計って見ます
構成に約115秒かかりました
ARM用と時間は変わりませんでした
B.x86用GCCのコンパイル
コンパイルに約20分20秒かかりました
3分くらいARM用に比べるとかかりました
C.x86用GCCの導入
/usr/local/bin以下にバイナリファイルが導入されます
導入ファイル:
| gconv |
gccbug |
cpp |
| gcc |
i686-pc-linuc-gnu-gcc-3.3.2 |
i686-pc-linux-gnu-gcc |
/usr/local/i686-pc-linux-gnu以下にCプリプロセッサなどが導入されます
|