前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

2.1. 開発環境のインストール

2.1.1. システム要件

  1. Brew MP 1.0.3 / 1.0.1, BREW 4.0.2J / 4.0.1J / 3.1.2J / 2.1.1J / 2.0.1J
  2. Microsoft Visual Studio 2005, Microsoft Visual Studio .NET 2003, または Microsoft Visual C++ 6.0 ( Service Pack 6 以降 )
  3. ARM RealView Compilation Tools for BREW 1.2 ( Build 848 以降 ), ARM RealView Compilation Tools for BREW 3.0 ( Build 970 以降 ), GNUARM 4.1.1, または YAGARTO 4.4.2 for Windows (20091018)
[Note] Brew MP 対応

SophiaFramework UNIVERSE 5.1.7 から Brew MP に対応しました。

[Note] Microsoft Visual Studio .NET 2003 の入手方法

Microsoft Visual Studio .NET 2003 は Visual Studio with MSDN Subscription により Microsoft 社から入手可能です。

[Note] ARM RealView Compilation Tools for BREW 1.2 の入手方法

ARM RealView Compilation Tools for BREW 1.2 は RealView Compilation Tools for BREW 3.0 の見積依頼で、備考欄にその旨伝えれば ARM 社から入手可能です。

[Note] GNUARM 4.1.1 の入手方法

GNUARM 4.1.1 は GNUARM トップページFilesBinary GCC-4.1 toolchain から入手可能です。

[Note] YAGARTO 4.4.2 の入手方法

YAGARTO 4.4.2 for Windows (20091018) は YGARTO トップページSourceForge から入手可能です。

[Caution] 開発環境のバージョン

− Microsoft Visual C++ 6.0 は Service Pack 6 の適用が必要です。

− RealView Compilation Tools for BREW 1.2 は Build 848 patch の適用が必要です。

− GNUARM 4.1.1 は Cygwin 上で動作させることを推奨します。

− YAGARTO 4.4.2 (20091223) は、一部の数学関数が正常に機能しない現象が確認されています。YAGARTO 4.4.2 (20091018) の使用を推奨します。

− BREW 3.1.5 英語版には対応していません。

[Caution] 略記

この章では "ARM RealView Compilation Tools for BREW" を RVCTB と略すことがあります。

2.1.2. BREW SDK

BREW SDK をインストールします。

[Note] Microsoft Visual Studio 2005 を利用する場合

Microsoft Visual Studio 2005 を利用するには、BREW SDK Tools 1.1.1 SP02(日本語版) をインストールする必要があります。 ただし、BREW SDK Tools 1.1.1 SP02(日本語版) には不具合が含まれている可能性があります。 この不具合が修正されていない場合は、下記の方法によりこの不具合を回避する必要があります。

  1. BREW SDK Tools 1.1.1 SP02 Ja をインストールします。
  2. C:\Program Files\BREW SDK Tools 1.1.1 SP02 Ja\VSAddins\vs80 の内容を確認します。
  3. 1041フォルダが存在している場合は、そのままご利用になれます。
  4. 1041フォルダが存在しない場合、1041フォルダを作成し、1033フォルダの内容をコピーします。

なお、この不具合は、BREW Addin のロケールは英語版になっているにも関わらず、 リソースの方は日本語版フォルダになっているために起きている現象であると考えられます。

参照: BREW プログラミング入門 : BREW SDK をインストールしよう ( BREW 3.1 編 )

2.1.3. SophiaFramework UNIVERSE

インストーラアイコンをダブルクリックして SophiaFramework UNIVERSE をインストールします。

[Caution] usertype.dat の上書き

SophiaFramework UNIVERSE をインストールすると、Microsoft Visual Studio 用のキーワードファイル「usertype.dat」が SophiaFramework UNIVERSE 用に上書きされます。

usertype.dat をカスタマイズしてお使いの場合は、インストールする前にこのファイルをバックアップしてください。

デフォルトインストール時の usertype.dat の位置は以下の通りです。

  1. Microsoft Visual Studio 6.0: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
  2. Microsoft Visual Studio .NET 2003: C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE
  3. Microsoft Visual Studio 2005: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE

2.1.4. BREW 日本拡張パッケージ

必要に応じて KDDI 社提供 BREW 日本拡張パッケージをインストールします。

[Note] KDDI 社提供 BREW 日本拡張パッケージ

KDDI社モバイルソリューションパートナー(KDDI-MSP) Web サイト から入手可能です。

サイトにアクセスするには KDDI社モバイルソリューションパートナー(KDDI-MSP)に認定される必要があります。

2.1.5. BREW Elf2Mod

RVCTB 3.0, GNUARM または YAGARTO で開発する場合、Qualcomm 社提供 BREW Elf2Mod 1.0.2 をインストールします。

[Note] Qualcomm 社提供 BREW Elf2Mod

BREW Elf2Mod を入手するには Brew ディベロッパーに認定される必要があります。

環境変数 ELF2MOD_TOOL_PATH を新規で作成し、値に「C:\Program Files\BREW Elf2Mod\bin」を登録します (同ツールが 「C:\Program Files\BREW Elf2Mod」 にインストールされた場合)。

図 2.1. 環境変数 ELF2MOD_TOOL_PATH

環境変数 ELF2MOD_TOOL_PATH

2.1.6. [選択] フリーの実機開発環境

フリーの実機開発環境として ARM 用の GCC ツールチェインがあります。

SophiaFramework は GNUARM 4.1.1 や YAGARTO 4.4.2 での開発をサポートしています。

RVCTB を使用する場合は、プロジェクトの作成 へ進みます。

GCC ツールチェインのインストール後は、GNU ld リンカの更新BREW SDK インクルードファイルの修正が必要になります。

2.1.6.1. GNUARM 4.1.1 のインストール

GNUARM 4.1.1 は GNUARM トップページFilesBinary GCC-4.1 toolchain: binutils-2.17, gcc-4.1.1-c-c++, newlib-1.14.0, insight-6.5, setup.exe [25.1MB] から入手します。

ダウンロードしたファイル 「 bu-2.17_gcc-4.1.1-c-c++_nl-1.14.0_gi-6.5.exe 」 を実行します。

図 2.2. GNUARM セットアップ - 1

GNUARM セットアップ - 1

セットアップ画面が表示され、「Next」ボタンから次へ進みます。

図 2.3. GNUARM セットアップ - 2

GNUARM セットアップ - 2

ライセンスに同意できましたら、「I accept the agreement」を選択して 「Next」ボタンから次へ進みます。

図 2.4. GNUARM セットアップ - 3

GNUARM セットアップ - 3

インストール先フォルダを 「C:\GNUARM」 に変更して、「Next」ボタンから次へ進みます。

図 2.5. GNUARM セットアップ - 4

GNUARM セットアップ - 4

スタートメニューフォルダの名前はそのままにして、「Next」ボタンから次へ進みます。

図 2.6. GNUARM セットアップ - 5

GNUARM セットアップ - 5

「Full installation」のまま、「Next」ボタンから次へ進みます。

図 2.7. GNUARM セットアップ - 6

GNUARM セットアップ - 6

Cygwin がインストールされていたら (推奨)、「Install Cygwin DLLs」のチェックをはずし、「Next」ボタンから次へ進みます。

図 2.8. GNUARM セットアップ - 7

GNUARM セットアップ - 7

内容に間違いがなければ、「Install」ボタンでインストールを開始します。

図 2.9. GNUARM セットアップ - 8

GNUARM セットアップ - 8

環境変数 PATH に GNUARM の実行ファイルのパスを登録する場合 (別途環境変数を登録するので必須ではありません)、チェックをして「Finish」ボタンでインストールを終えます。

環境変数 GNUARM41HOME (なければ新規作成) にインストール先フォルダ 「C:\GNUARM」を登録します。

図 2.10. 環境変数 GNUARM41HOME

環境変数 GNUARM41HOME

以上で GNUARM のインストールは完了です。

次に、GNU ld リンカの更新BREW SDK インクルードファイルの修正を行います。

2.1.6.2. YAGARTO 4.4.2 のインストール

2.1.6.2. YAGARTO 4.4.2 のインストール

YAGARTO 4.4.2 for Windows (20091018) は YGARTO トップページSourceForge から入手します。

ダウンロードしたファイル 「 yagarto-bu-2.19.1_gcc-4.4.2-c-c++_nl-1.17.0_gi-6.8.50_20091018.exe 」 を実行します。

図 2.11. YAGARTO セットアップ - 1

YAGARTO セットアップ - 1

セットアップ画面が表示され、「Next」ボタンから次へ進みます。

図 2.12. YAGARTO セットアップ - 2

YAGARTO セットアップ - 2

ライセンスに同意できましたら、「I accept the terms of the License Agreement」を選択して 「Next」ボタンから次へ進みます。

図 2.13. YAGARTO セットアップ - 3

YAGARTO セットアップ - 3

環境変数 PATH に YAGARTO の実行ファイルのパスを登録する場合 (別途環境変数を登録するので必須ではありません)、チェックをして「Next」ボタンから次へ進みます。

図 2.14. YAGARTO セットアップ - 4

YAGARTO セットアップ - 4

インストール先フォルダを決定して、「Next」ボタンから次へ進みます。

図 2.15. YAGARTO セットアップ - 5

YAGARTO セットアップ - 5

スタートメニューフォルダの名前はそのままにして、「Install」ボタンからインストールを開始します。

図 2.16.

ファイルのインストールが完了したら、「Next」ボタンから次へ進みます。

図 2.17. YAGARTO セットアップ - 7

YAGARTO セットアップ - 7

「Finish」ボタンでウィザードを終了します。

環境変数 YAGARTO44HOME (なければ新規作成) にインストール先フォルダ 「C:\Program Files\yagarto」を登録します。

図 2.18. 環境変数 YAGARTO44HOME

環境変数 YAGARTO44HOME

以上で YAGARTO のインストールは完了です。

次に、GNU ld リンカの更新BREW SDK インクルードファイルの修正を行います。

2.1.6.3. GNU ld リンカの更新 (GNUARM4.1.1, YAGARTO 4.4.2 両方)

GNU ld リンカに "--emit-relocs" を指定すると、再配置テーブルを出力することができます。

再配置テーブルは BREW Elf2Mod が elf ファイルを mod ファイルへ変換するのに必要となります。

一方、リンカに "--gc-sections" を指定すると、未使用関数を削除し elf ファイルのサイズを大幅に縮小することができます。

GNUARM 4.1.1 に含まれているリンカ (arm-elf-ld.exe バージョン2.1.7) では両オプションを同時に指定することができません。

GNU ld 2.19.1 パッチ修正版 (実行ファイル) に置き換えることでこの問題を解消することができます。

さらに、この修正版では ARM Thumb 協調作業時のベニアコードを位置独立なコード (pic) として出力できない不具合が修正されています。

ベニアコードを pic として出力するには、"--pic-veneer" オプションを指定します。

BREW 環境で Thumb モードを利用する場合には必ずこの "--pic-veneer" オプションを指定する必要があります。

[Caution] 最新版の YAGARTO では

最新版 (2009/12/24 現在) の YAGARTO (20091223) に含まれている binutils 2.20 では、これらの不具合は修正されています。

ただし、一部の数学関数が正常に機能しない現象が確認されているのでご使用にならないでください。

図 2.19. arm-elf-ld.exe の更新 (GNUARM)

arm-elf-ld.exe の更新 (GNUARM)

図 2.20. arm-elf-ld.exe の更新 (YAGARTO)

arm-elf-ld.exe の更新 (YAGARTO)

2.1.6.4. BREW SDK インクルードファイルの修正 (GNUARM4.1.1, YAGARTO 4.4.2 両方)

BREW 3.1.2 SDK 以前 (を含む) のバージョンの SDK を利用する場合、BREW SDK 内のインクルードファイル AEESource.h を修正する必要があります。

例 2.1. AEESource.h 修正前

#define DECLARE_IGETLINE(iname)\
   int32  (*GetLine)  (iname *po, GetLine *pgl, int32 nTypeEOL);\
   void   (*UngetLine)(iname *po, int32 nLenUnused)

#define INHERIT_IGetline(iname)\
   INHERIT_IPeek(iname);\
   int32  (*GetLine)  (iname *po, GetLine *pgl, int32 nTypeEOL);\
   void   (*UngetLine)(iname *po, int32 nLenUnused)

例 2.2. AEESource.h 修正後

#define DECLARE_IGETLINE(iname)\
   int32  (*GetLine)  (iname *po, struct GetLine *pgl, int32 nTypeEOL);\
   void   (*UngetLine)(iname *po, int32 nLenUnused)

#define INHERIT_IGetline(iname)\
   INHERIT_IPeek(iname);\
   int32  (*GetLine)  (iname *po, struct GetLine *pgl, int32 nTypeEOL);\
   void   (*UngetLine)(iname *po, int32 nLenUnused)