![]() |
|
WideStudio Index Table of contents |
WideStudio for BTRON
WideStudio for BTRON は、 T-Engine または BTRON におけるデスクトップアプリケーションを 製作するための WideStudio です。
WideStudio for BTRON を使うと次のような特徴がある T-Engine/BTRON アプリケーションを 製作することができます。
- BTRON用のネイティブバイナリの高速なアプリケーションを製作できます。
- 他のプラットフォームとプログラム資産が共有できます。
WideStudio for BTRON の環境の構築
WideStudio for BTRON では、Linux を開発環境とし、 BTRON アプリケーションを Linux 上で構築します。 出来たアプリケーションを BTRON に転送し、 実行しデバッグする開発形態をとります。
WideStudio for BTRON で BTRON アプリケーションを製作するために 必須なソフトウェアを、 下記に示します。
コンパイラは、Linux に付いて来る Linux 用の gcc/g++ コンパイラと、 bright-v 開発環境に添付されている gcc386 コンパイラが必要です。 bright-v 開発環境が /usr/local/brightv に インストールされているものとして、WideStudio for BTRON の 環境構築を進めたいと思います。
- gcc/g++ などの Linux 用のコンパイラ
- ソースコードを編集するためのエディタ
- BTRON 開発環境(パーソナルメディア社 bright-v用の開発環境一式)
WideStudio for BTRON のビルド
WideStudio のソースコードは、 WideStudio のバージョン番号を X.XX-X とすると 含んだ ws-vX.XX.X-src.tar.gz というファイル名で公開されています。
そのファイルを入手したら、T-Engine 開発環境がインストールされている Linux 機で次のように展開します。cd /usr/local/brightv gzip -cd ws-vX.XX.X-src.tar.gz | tar -xvf -WideStudio for BTRON のビルドは2つのフェーズからなります。 1つは WideStudio 本体のビルドと、 1つは BTRON 用のライブラリのビルドです。WideStudio 本体のビルドは、 gcc/g++ を Linux のものを用いて、 次の手順でおこないます。
- WideStudio 本体のビルド
- WideStudio for BTRON 用のライブラリのビルド
cd /usr/local/brightv/ws ./configure make本体のビルドが終ったら次は、 WideStudio for BTRON のビルドです。 WideStudio for BTRON のビルドは、 BTRON バイナリを生成するために、 BTRON 用のコンパイラを使用するため、 次の樣に設定します。
csh の場合の場合の設定を示します。setenv BD /usr/local/brightv setenv PATH $BD/tool/gnu/i386-unknown-gnu/bin:/usr/local/brightv/ws/bin:$PATH setenv GNUs /usr setenv GNU_BD $BD/tool/gnu setenv GNUi386 $GNU_BD/i386-unknown-gnu setenv WSDIR /usr/local/brightv/ws setenv LD_LIBRARY_PATH /usr/local/brightv/ws/lib:$LD_LIBRARY_PATH
環境変数の設定が終ったら次の手順でおこないます。
SH7751Rの場合cd /usr/local/brightv/ws/src-btron ./configure makeエラーが出ずにビルドできれば、環境のビルドはこれで完了です。 環境変数の設定は、wsbuilder による BTRON アプリケーションの作成時にも 必要ですので、ファイルに保存しておいて、 いつでも実行して設定できるようにしておくと良いでしょう。 常に、BTRON アプリケーションをビルドする環境に設定しておく場合は、 .cshrc などに設定しておくのも良いでしょう。WideStudio for BTRON による Hello アプリケーションの作成
簡単なアプリケーション hello を例に、 WideStudio for BTRON で実際の BTRONアプリケーション構築手順を みていきましょう。
まず、wsbuilder を起動し、 アプリケーションビルダーの[プロジェクト]メニュー の新規プロジェクトを選択し、 新規にプロジェクトを作成します。 プロジェクト名に hello を指定して、 「通常のアプリケーション」を選択してします。 作成されるプロジェクトファイル名は、hello.prj です。
ウィンドウの作成
プロジェクトを作成したら、次は、 hello のベースとなるウィンドウを一つ作成しましょう。 ビルダーの[ファイル]メニューの新規ウィンドウ を選択します。タイプは、「通常のウィンドウ」を選択し、 newwin000 の名称で作成し、プロパティを次のように設定します。オブジェクト名称: newwin000 X座標: 0 Y座標: 0 横幅: 240 縦幅: 300 タイトル属性: タイトルなし次に、作成されたばかりのウィンドウ上に、 ボタンオブジェクトを配置し、次のように設定します。オブジェクト名称: newvbtn_000 X座標: 10 Y座標: 10 横幅: 100 縦幅: 30 表示文字列: TEST
![]()
▲ hello のウィンドウの様子
イベントプロシージャの作成
次はいよいよイベントプロシージャの作成です。 ボタンを押したら、「Hello!」と表示されるようにしてみましょう。 イベントプロシージャは、C++言語で記述し、 オブジェクトのアクセスや任意のデータ処理等を行います。 そして、作成したプロシージャを配置した部品に対して、 起動されるイベントを指定します。
例えば、イベントプロシージャを、ボタンに対し、 マウスが押される等のイベントで設定しておくと、 マウスでボタンが押した時に実行されます。
作成したプッシュボタン newvbtn_000 に対し hello! と表示するような イベントプロシージャを作成します。 アプリケーションビルダーで、newvbtn_000 を選択して、 [編集]メニューの[プロシージャ編集]の[プロシージャ新規作成]を 選択し、次のように設定します。
#include#include #include //----------------------------------------------- //Function for the event procedure //----------------------------------------------- void btnop1(WSCbase* object){ static long cnt = 0; if (cnt != 0){ exit(0); } object->setProperty(WSNlabelString,"Hello!"); cnt++; } static WSCfunctionRegister op("btnop1",(void*)btnop1); Hello プロジェクトのビルド
作成した hello プロジェクトを アプリケーションビルダーの[プロジェクト]メニューの[プロジェクト保存] を選択して保存したら、 アプリケーションビルダーの[ビルド]メニューのビルドオールで ビルドを行います。 これでエラーが出なければ、hello は完成です。
![]()
▲ビルドのようす
ビルドが成功すると、プロジェクトのディレクトリに hello.bz が生成されます。 この hello.bz を BTRON 開発環境に標準で添付される gterm を用いて次のようにシリアル転送し、設定します。
また、ファイルの転送に関しては fget コマンドによるイーサネット転送も可能です。 詳しくは パーソナルメディア社から公開されている BTRON 開発環境の取扱説明書を 御覧ください。[/SYS] recv -d /.../hello/hello.bz ← hello.bz のファイルをフルパスで指定します。 [/SYS] expf -v hello.bz ← hello.bz を展開します。 [/SYS] vup -t hello /SYS ← hello を小物に登録します。 [/SYS] rm hello hello.bz ← 不要になった hello を削除します。これで、「サンプルプログラム」という題目で 小物に hello が登録されます。 小物からダブルクリックしてアプリケーションを起動することができます。 プロジェクトのディレクトリに生成される hello.f を編集することで、 登録される「サンプルプログラム」という題目を変更することができます。
Copyright(C) T. Hirabayashi, 2000-2002 | Last modified: Dec 6, 2002 |