Parallella Fan!
Home記事一覧BBS

Epiphany SDKをPCにインストールする

(更新)
2013/11/20 新しい公式ドキュメントに合わせてインストール方法を変更しました。

Epiphany SDKをPC上のUbuntu 13.10にインストールします。通常のPC上でEpiphanyのプログラムの開発を行い、シミュレーターで動作確認を行うことができます。

下準備

この記事では、Ubuntu 13.10(x86 64bit版)にインストールすることを前提にしています。PCにUbuntu 13.10をインストールする方法については、下記のページを参考にしてください。

PCにUbuntu 13.10 (Saucy Salamander)を「軽量化」インストールする

PC側の開発関連パッケージのインストール

PC側の開発関連パッケージをインストールします。端末で、以下のコマンドを実行します。(1行で)

apt-get --no-install-recommends install kernel-package gdb manpages-dev automake bison flex unzip git libgmp-dev libncurses5-dev libmpc-dev libmpfr-dev texinfo

Epiphany SDKのソースコードのダウンロード

ホームディレクトリ直下に epiphany-sdk というディレクトリを作ってEpiphany SDKのソースコードをダウンロードします。

mkdir ~/epiphany-sdk

cd ~/epiphany-sdk

wget https://raw.github.com/adapteva/epiphany-sdk/master/download-toolchain.sh

chmod +x download-toolchain.sh

./download-toolchain.sh

git clone https://github.com/adapteva/epiphany-libs.git

Epiphany toolchainのビルド

cd ~/epiphany-sdk/sdk

export EPIPHANY_HOME=$HOME/epiphany-sdk

./build-toolchain.sh

ビルドが終わるまでしばらく待ちます。以下のメッセージが表示されれば成功です。

**************************************************
The build is complete.
The tools have been installed at: /home/(ユーザー名)/epiphany-sdk/INSTALL/bin
Please ensure that this directory is in your PATH.
**************************************************

Epiphany toolchainのインストール

一度 build-sdk.sh を走らせます。

./build-sdk.sh

すると以下のようなメッセージが表示されます。

Creating the eSDK directory tree...
Please install the Epiphany GNU tools suite first at /home/(ユーザー名)/epiphany-sdk/sdk/../esdk.(バージョン)/tools/e-gnu.armv7l

先ほど epiphany-sdk/INSTALL 以下にインストールされたファイルをこのディレクトリに移します。

cd ~/epiphany-sdk

以下の(ユーザー名)(バージョン)は上記に表示されたものに置き換えてください。(ディレクトリ名の後ろには「/」を付けます。)

mv INSTALL/* /home/(ユーザー名)/epiphany-sdk/sdk/../esdk.(バージョン)/tools/e-gnu.armv7l/

Epiphany SDKのインストール

cd ~/epiphany-sdk/sdk

./build-sdk.sh

エラーで止まらなければ成功です。

次に、Epiphany SDKの実行ファイルのパスを.profileで環境変数PATHに追加しておきます。

leafpadなどで.profileを開いて、その末尾に「PATH=$HOME/epiphany-sdk/esdk.(バージョン)/tools/e-gnu/bin/:$PATH」という記述を追加します。

この(バージョン)は上記に表示されたものに置き換えてください。

leafpad ~/.profile

#----以下の行を追加----
PATH=$HOME/epiphany-sdk/esdk.(バージョン)/tools/e-gnu/bin/:$PATH

設定を有効にするために、一旦ログアウトしてログインしなおすか、もしくは端末で「PATH=$HOME/epiphany-sdk/esdk.(バージョン)/tools/e-gnu/bin/:$PATH」を実行します。

動作確認

簡単なプログラムで動作確認します。

mkdir ~/e-hello

cd ~/e-hello

leafpad hello.c

以下のプログラムを入力して保存します

#include <stdio.h>
int main(void)
{
  printf("Hello, world!\n");
  return 0;
}

コンパイルします。

e-gcc hello.c

ls

「a.out」という実行ファイルができていれば成功です。

シミュレーターで実行してみます。

e-run a.out

「Hello, world!」と表示されれば成功です。

アセンブリコードを見てみます。

e-gcc -S hello.c

cat hello.s

Epiphanyの命令にコンパイルされていることが確認できます。

    .file    "hello.c"
    .section .rodata
    .balign 8
.LC0:
    .string    "Hello, world!"
    .section .text
    .balign 4
    .global    _main
_main:
    str fp,[sp],#-4
    str lr,[sp,#5]
    mov fp,sp
    mov r0, %low(.LC0)
    movt r0, %high(.LC0)
    mov r1, %low(_puts)
    movt r1, %high(_puts)
    jalr r1
    mov r0,#0
    mov sp,fp
    ldr lr,[sp,#5]
    ldr fp,[sp,#4]
    add sp,sp,#16
    rts
    .size    _main, .-_main
    .ident    "GCC: (Epiphany toolchain (built 20131114)) 4.8.2 20130729 (prerelease)"