SophiaFramework UNIVERSE 5.3 |
Brew MP 対応 | |
---|---|
SophiaFramework UNIVERSE 5.1.7 から Brew MP に対応しました。 |
Microsoft Visual Studio .NET 2003 の入手方法 | |
---|---|
Microsoft Visual Studio .NET 2003 は Visual Studio with MSDN Subscription により Microsoft 社から入手可能です。 |
ARM RealView Compilation Tools for BREW 1.2 の入手方法 | |
---|---|
ARM RealView Compilation Tools for BREW 1.2 は RealView Compilation Tools for BREW 3.0 の見積依頼で、備考欄にその旨伝えれば ARM 社から入手可能です。 |
GNUARM 4.1.1 の入手方法 | |
---|---|
GNUARM 4.1.1 は GNUARM トップページ の Files → Binary GCC-4.1 toolchain から入手可能です。 |
YAGARTO 4.4.2 の入手方法 | |
---|---|
YAGARTO 4.4.2 for Windows (20091018) は YGARTO トップページ の SourceForge から入手可能です。 |
開発環境のバージョン | |
---|---|
− 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 英語版には対応していません。 |
略記 | |
---|---|
この章では "ARM RealView Compilation Tools for BREW" を RVCTB と略すことがあります。 |
BREW SDK をインストールします。
Microsoft Visual Studio 2005 を利用する場合 | |
---|---|
Microsoft Visual Studio 2005 を利用するには、BREW SDK Tools 1.1.1 SP02(日本語版) をインストールする必要があります。 ただし、BREW SDK Tools 1.1.1 SP02(日本語版) には不具合が含まれている可能性があります。 この不具合が修正されていない場合は、下記の方法によりこの不具合を回避する必要があります。
なお、この不具合は、BREW Addin のロケールは英語版になっているにも関わらず、 リソースの方は日本語版フォルダになっているために起きている現象であると考えられます。 |
インストーラアイコンをダブルクリックして SophiaFramework UNIVERSE をインストールします。
usertype.dat の上書き | |
---|---|
SophiaFramework UNIVERSE をインストールすると、Microsoft Visual Studio 用のキーワードファイル「usertype.dat」が SophiaFramework UNIVERSE 用に上書きされます。 usertype.dat をカスタマイズしてお使いの場合は、インストールする前にこのファイルをバックアップしてください。 デフォルトインストール時の usertype.dat の位置は以下の通りです。
|
必要に応じて KDDI 社提供 BREW 日本拡張パッケージをインストールします。
KDDI 社提供 BREW 日本拡張パッケージ | |
---|---|
KDDI社モバイルソリューションパートナー(KDDI-MSP) Web サイト から入手可能です。 サイトにアクセスするには KDDI社モバイルソリューションパートナー(KDDI-MSP)に認定される必要があります。 |
RVCTB 3.0, GNUARM または YAGARTO で開発する場合、Qualcomm 社提供 BREW Elf2Mod 1.0.2 をインストールします。
Qualcomm 社提供 BREW Elf2Mod | |
---|---|
BREW Elf2Mod を入手するには Brew ディベロッパーに認定される必要があります。 |
環境変数 ELF2MOD_TOOL_PATH を新規で作成し、値に「C:\Program Files\BREW Elf2Mod\bin」を登録します (同ツールが 「C:\Program Files\BREW Elf2Mod」 にインストールされた場合)。
フリーの実機開発環境として ARM 用の GCC ツールチェインがあります。
SophiaFramework は GNUARM 4.1.1 や YAGARTO 4.4.2 での開発をサポートしています。
RVCTB を使用する場合は、プロジェクトの作成 へ進みます。
GCC ツールチェインのインストール後は、GNU ld リンカの更新とBREW SDK インクルードファイルの修正が必要になります。
GNUARM 4.1.1 は GNUARM トップページ の Files → Binary 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 」 を実行します。
セットアップ画面が表示され、「Next」ボタンから次へ進みます。
ライセンスに同意できましたら、「I accept the agreement」を選択して 「Next」ボタンから次へ進みます。
インストール先フォルダを 「C:\GNUARM」 に変更して、「Next」ボタンから次へ進みます。
スタートメニューフォルダの名前はそのままにして、「Next」ボタンから次へ進みます。
「Full installation」のまま、「Next」ボタンから次へ進みます。
Cygwin がインストールされていたら (推奨)、「Install Cygwin DLLs」のチェックをはずし、「Next」ボタンから次へ進みます。
内容に間違いがなければ、「Install」ボタンでインストールを開始します。
環境変数 PATH に GNUARM の実行ファイルのパスを登録する場合 (別途環境変数を登録するので必須ではありません)、チェックをして「Finish」ボタンでインストールを終えます。
環境変数 GNUARM41HOME (なければ新規作成) にインストール先フォルダ 「C:\GNUARM」を登録します。
以上で GNUARM のインストールは完了です。
次に、GNU ld リンカの更新とBREW SDK インクルードファイルの修正を行います。
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 」 を実行します。
セットアップ画面が表示され、「Next」ボタンから次へ進みます。
ライセンスに同意できましたら、「I accept the terms of the License Agreement」を選択して 「Next」ボタンから次へ進みます。
環境変数 PATH に YAGARTO の実行ファイルのパスを登録する場合 (別途環境変数を登録するので必須ではありません)、チェックをして「Next」ボタンから次へ進みます。
インストール先フォルダを決定して、「Next」ボタンから次へ進みます。
スタートメニューフォルダの名前はそのままにして、「Install」ボタンからインストールを開始します。
ファイルのインストールが完了したら、「Next」ボタンから次へ進みます。
「Finish」ボタンでウィザードを終了します。
環境変数 YAGARTO44HOME (なければ新規作成) にインストール先フォルダ 「C:\Program Files\yagarto」を登録します。
以上で YAGARTO のインストールは完了です。
次に、GNU ld リンカの更新とBREW SDK インクルードファイルの修正を行います。
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" オプションを指定する必要があります。
最新版の YAGARTO では | |
---|---|
最新版 (2009/12/24 現在) の YAGARTO (20091223) に含まれている binutils 2.20 では、これらの不具合は修正されています。 ただし、一部の数学関数が正常に機能しない現象が確認されているのでご使用にならないでください。 |
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)
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |