はじめてみよう Teamacaron

Version 1.A0.00
パーソナルメディア株式会社

c 2010 by Personal Media Corporation
Copyright °

目次

2

目次

1
2

3

4

修正履歴

3

はじめに

4

ターゲット側実行環境のインストール

4

開発環境のインストール

12

2.1
2.2

Cygwin のインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eclipse のインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12
14

2.3

T-Kernel 開発環境のインストール . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

開発手順

22

3.1
3.2

ターゲット側と開発環境側の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3
3.4
3.5

プロセスベースと T-Kernel ベース . . . . . . . . . . . . . . . . . . . . . . . . . .

コンソールの利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
「Hello, world」プロセスベース編. . . . . . . . . . . . . . . . . . . . . . . . . .
「Hello, world」T-Kernel ベース編 . . . . . . . . . . . . . . . . . . . . . . . . . .

実習用サンプルプログラム

4.1

ジャグリング (お手玉) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2
4.3

簡易ウェブサーバ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LED と割込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

索引

はじめてみよう Teamacaron

22
23
25
26
30
33
33
37
39
42

c 2010 Personal Media Corporation
°

修正履歴

3

修正履歴

Version 1.A0.00• Teamacaron 開発キット向けに新規作成

はじめてみよう Teamacaronc 2010 Personal Media Corporation
°

はじめに

4

はじめに
本書では、はじめて「Teamacaron 開発キット」をご利用になる方を対象に、Teamacaron 開発
キットを使い始めるためのチュートリアルをご提供します。インストールから実習用プログラムの実行まで、この手順に沿って試していただければ、短時間で開発の手順をひととおり体験できます。

1

ターゲット側実行環境のインストール
組込みシステム開発では、プログラムをメイクする開発環境側と、作成したプログラムを実行するターゲット側が、別々のマシンに分かれているのが一般的です。このような開発手法を「クロス開発」と呼びます。Teamacaron 開発キットにおいても、Teamacaron 用ソフトウェアの開発をクロス開発で行います。(図 1.1)

PC (開発環境)

Teamacaron (ターゲット)

コンパイラ

-

Eclipse

デバッガ

gterm

アプリケーション

¾
シリアル

図 1.1

ドライバ、ミドルウェア

T-Kernel (OS)クロス開発

そこでまずこの章では、ターゲット側実行環境 (OS、ドライバ、ミドルウエア等) を Teamacaronに挿入する microSD にインストールし、次に 2 章でパソコン側の開発環境のインストールを行います。詳細については Teamacaron 開発キット CD-ROM 内の『評価キット取扱説明書』の「2 章インストール方法」をあわせてご参照ください。

(1) microSD カードの準備
microSD カードを 1 枚ご用意いただき、Windows PC を使って FAT フォーマットしてくだ
さい。
† SDHC カードには対応していませんので、microSD カードをご用意ください。また、フォーマッ
ト時のファイルシステムは FAT32 ではなく必ず FAT を選択してください。

次に Teamacaron 開発キットの CD-ROM 内の「jpY=soft」フォルダ以下にある、次の 3 つのファイルを microSD のルート直下にコピーしてください。
ファイル名

内容

sdboot.bin

ブートローダtmonitor.bin
romdisk.bin

T-Monitor
インストール ROM ディスクイメージ(2) シリアル接続
開発用パソコンと Teamacaron をシリアル (RS-232C) で接続します。具体的には Teamacaron
開発キット付属のシリアル変換ケーブルを使って、図 1.2 のように接続します。開発用パソ
コンにシリアルポート (COM ポート) がない場合は、USB シリアル変換アダプタを使用してください。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

UART0

5

シリアル変換RS-232C クロ

ケーブル

スケーブル

¾

-

¾

-

開発用 PC

Teamacaron
シリアル変換ケーブル

UART0Teamacaron

COM ポート

¾
図 1.2

-

USB シリアル
変換アダプタ¾-

USB ポート
開発用 PC

シリアルケーブルの接続

いずれの場合も、シリアル変換ケーブルは Teamacaron の UART0 コネクタ (CN5) に接続
します (図 1.3)。

図 1.3

UART0 コネクタと microSD スロットの位置° 端末ソフトの起動
パソコン上には端末ソフト (「ハイパーターミナル」や「Tera Term Pro」など) が必要です。
† Windows 7 および Windows Vista にはハイパーターミナルが付属しません。端末ソフトをお持ちでない場合は「Tera Term Pro (バージョン 2.3)」を下記からダウンロードしてご利用ください。
http://hp.vector.co.jp/authors/VA002416/† この章では microSD のインストールのためにハイパーターミナルなどの端末ソフトを使います
が、次章以降で Eclipse の開発環境をインストールすれば、端末ソフトを使うかわりに Eclipse
上の gterm を使ってコンソール操作ができます。ただし、最初のセットアップ時には、接続がう
まくいかない場合の原因切り分けのためにも、まずはハイパーターミナルなどの端末ソフトで接続を確認することをお勧めします。

• Tera Term Pro の場合
Tera Term Pro を起動します。
• ハイパーターミナルの場合
Windows XP 上のハイパーターミナルの場合は、「スタート」→「すべてのプログラム」→「アクセサリ」→「通信」→「ハイパーターミナル」を起動します。
† 「既定の Telnet プログラムにしますか?」と聞かれる場合がありますが、「はい」でも「いいえ」でもどちらでも構いません。
また市外局番などを聞かれる場合もありますが、これも実際に電話をかけるわけではありませんので、適当に入力して構いません。

名前とアイコンの選択では、適当な名前を入力して OK をクリックします (図 1.4)。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

図 1.4

6

ハイパーターミナルの起動° 通信条件の設定
開発用パソコンで使用するシリアルポート (「COM1」など) を指定して、ポートの通信条件の設定を次のように設定します。
ビット/秒

115200 bps

データビット

8 ビット

パリティ

なし

ストップビット

1 ビット

フロー制御

XON/XOFF† ハードウェアフロー制御 (RTS/CTS) はサポートしていません。必ず XON/XOFF を指定してください。

• Tera Term Pro の場合「ファイル (F)」→「新規接続 (N)」を選択します。新規接続ダイアログが表示されますので、「シリアル」を選択し、使用するシリアルポート (「COM1」など) を指定して、OK をクリックします。
続いて「設定 (S)」→「シリアルポート (P)」を選択します。シリアルポート設定ダイ
アログが表示されますので、上記のように設定してください。

• ハイパーターミナルの場合
接続方法に使用するシリアルポート (「COM1」など) を選択して OK をクリックします。続いてポートの設定ダイアログが表示されますので、図 1.5 のように設定してくだ
さい。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

図 1.5

7

ハイパーターミナルの通信設定(3) Teamacaron の起動
上記 (1) で作成した microSD カードを Teamacaron に挿入します (図 1.3)。

Teamacaron に AC アダプタを接続して電源を供給します。
° 起動の確認端末ソフト上で ←- (Enter) キーを何回か押してみて、CLI のプロンプト ([/SYS]%) が表示されれば成功です (図 1.6)。

図 1.6

端末ソフト上に表示された CLI のプロンプト(4) パーティションの分割
端末ソフト上で hdpart コマンドを起動します。その際のデバイス名は「pcb」(microSD 全体) を指定します。パーティションを 2 つに分割します。第一区画は必ず 32MB 以上としてください。また、ブート区画を第 2 区画に設定します。以下に例を示します。

[/SYS]% hdpart pcb←-— hdpart コマンドの起動

pcb[C:955 H:64 S:63 B:3862528 (1886 MB)]
No System
Boot StartCHSEndCHS
SecNo SecCnt
Size
1 06 DOS00
0: 2:10 956: 63:63
135 3858489 1884 MB
2 00 ------ 00
0: 0: 00: 0: 00
0
0 KB
3 00 ------ 00
0: 0: 00: 0: 00
0
0 KB
4 00 ------ 00
0: 0: 00: 0: 000
0 KB** Create/Delete/Boot/Edit/Quit ? d←はじめてみよう Teamacaron— 区画削除
c 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

8— 第 1 区画

Delete PartNo (1-4) ? 1←No SystemBoot
1 00 ------ 00
2 00 ------ 00
3 00 ------ 00
4 00 ------ 00

StartCHS
0: 0: 00: 0: 00: 0: 00: 0: 0EndCHS0: 0: 00: 0: 00: 0: 00: 0: 0

SecNo
0
0
0
0

SecCnt
0
0
0
0

Size
0 KB
0 KB
0 KB
0 KB

** Create/Delete/Boot/Edit/Quit ? c←-— 区画作成Create PartNo (1-4) ? 1←Size [GB/MB/KB,All] (<1886MB) ? 32MB←-— 第 1 区画— 区画サイズ

No System
Boot
1 13 BTRON00
2 00 ------ 00
3 00 ------ 00
4 00 ------ 00

StartCHS
0: 1: 10: 0: 00: 0: 00: 0: 0EndCHS
16: 63:63
0: 0: 00: 0: 00: 0: 0

SecNo
63
0
0
0

SecCnt
68481
0
0
0

Size
33 MB
0 KB
0 KB
0 KB

** Create/Delete/Boot/Edit/Quit ? c←Create PartNo (1-4) ? 2←-— 区画作成— 第 2 区画

Size [GB/MB/KB,All] (<1853MB) ? a←-— 残りすべてNo System
Boot
1 13 BTRON
00
2 13 BTRON00
3 00 ------ 00
4 00 ------ 00

StartCHS
0: 1: 1
17: 0: 1
0: 0: 00: 0: 0EndCHS
16: 63:63
957: 61:61
0: 0: 00: 0: 0

SecNo SecCnt
Size
63
68481
33 MB
68544 3793984 1852 MB
0
0
0 KB
0
0
0 KB

— ブート区画** Create/Delete/Boot/Edit/Update/Quit ? b←-— 第 2 区画

Boot PartNo (1-4,Clear) ? 2←No SystemBoot
1 13 BTRON
00
2 13 BTRON
80
3 00 ------ 00
4 00 ------ 00

StartCHS
0: 1: 1
17: 0: 1
0: 0: 00: 0: 0EndCHS
16: 63:63
957: 61:61
0: 0: 00: 0: 0

SecNo SecCnt
Size
63
68481
33 MB
68544 3793984 1852 MB
0
0
0 KB
0
0
0 KB

— 区画更新** Create/Delete/Boot/Edit/Update/Quit ? u←** pcb: Updated Master Boot Block[/SYS]%(5) 第 2 区画のフォーマット

端末ソフト上で format コマンドを使って第 2 区画をフォーマットします。デバイス名は「pcb1」を指定します。必ず「-b」オプション (ブートコード書込) が必要です。また 2GB 以上の区画の場合は「-x」オプションも指定してください。

[/SYS]% format -b pcb1 SYSTEM←Format pcb1 [STD] SYSTEM— 第 2 区画のフォーマット

Logical Formatting...
Writing BootCode...
Disk Format Success.
[/SYS]%(6) ROM ディスクのファイルコピー
端末ソフト上で ROM ディスクの全ファイルを miniSD の第 2 区画にコピーします。

[/SYS]% att pcb1 A←hda0 -> A[/SYS]% rcp -r /SYS /A/=←-

はじめてみよう Teamacaron— 第 2 区画の接続— 基本システムのコピー

c 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

9— 第 2 区画の切断[/SYS]% det pcb1←[/SYS]%(7) Teamacaron の電源を切る
次のように exit コマンドを 2 回使って終了させます。

[/SYS]% exit←<< EXIT cli >>[IMS]% exit
[IMS]% exit←-

1<< SYSTEM SHUTDOWN >>(8) 第 1 区画の FAT フォーマット
microSD を Teamacaron から取り出し、Windows PC を使って第 1 区画を FAT フォーマッ
トします。
† フォーマット時のファイルシステムは FAT32 ではなく必ず FAT を選択してください。また、区
画容量が (4) で指定した第 1 区画のサイズとほぼ等しいことを確認してください。

(9) ファイルコピー
Teamacaron 開発キットの CD-ROM 内の「jpY=soft」フォルダ以下にある、次の 4 つのファ
イルを microSD の第 1 区画 (FAT 区画) のルート直下にコピーしてください。
ファイル名

内容

sdboot.bintmonitor.bin
install.bz

ブートローダinstall tshell.bz

T-Shell インストールパッケージ

T-Monitor
基本システムインストールパッケージ† 今回は romdisk.bin はコピーしないでください。

(10) Teamacaron の起動
microSD カードを再び Teamacaron に挿入します。
Teamacaron に AC アダプタを接続して電源を供給します。
° 起動の確認端末ソフト上で ←- (Enter) キーを何回か押してみて、CLI のプロンプト ([/SYS]%) が表示されれば成功です。

(11) 基本システムのインストール[/SYS]% att -m pcb0 M←pcb0 -> M[/SYS]% expf -U /M/install.bz←[/SYS]% install /SYS←-— 第 1 区画の接続— インストールパッケージの展開— インストール

インストールが完了しました。再起動してください。

[/SYS]% rm -r install←-

はじめてみよう Teamacaron— インストーラの削除

c 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

10† 端末ソフトの文字コードが日本語 EUC でない場合は「インストールが完了しました。再起動してください」が文字化けしますが正常です。

(12) T-Shell のインストール[/SYS]% expf -U /M/install tshell.bz←[/SYS]% install tshell /SYS←-— インストールパッケージの展開— インストール

インストールが完了しました。再起動してください。

— インストーラの削除[/SYS]% rm -r install tshell←[/SYS]%° 第 1 区画の切断— 第 1 区画の切断[/SYS]% det -u pcb0←[/SYS]%(13) Teamacaron の再起動

次のように「exit」コマンドと 「exit -1」コマンドを使って Teamacaron を再起動させます。

[/SYS]% exit←<< EXIT cli >>[IMS]% exit
1[IMS]% exit -1←<< SYSTEM RESTART >>..
.
[/SYS]%
Teamacaron の CRT コネクタにディスプレイを接続すると、図 1.7 のような PMC T-Shellのウィンドウ画面が表示されます。また、USB マウスを接続すると、ポインタを動かしたり
右クリックメニューを表示できます。

図 1.7

PMC T-Shell の初期ウィンドウ

一方端末ソフト上には、Teamacaron の起動メッセージが続いた後、CLI プロンプト ([/SYS]%)が表示されます。

° 画面サイズ
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

1. ターゲット側実行環境のインストール

11

画面サイズは次のように変更できます。変更したサイズは再起動後に有効になります。

[/SYS]% devconf VIDEOMODE 8←[/SYS]% exit←<< EXIT cli >>[IMS]% exit
1[IMS]% exit -1←<< SYSTEM RESTART >>..
.

VIDEOMODE

画面サイズ

5
8

640 × 480
800 × 600[/SYS]%

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

12

開発環境のインストール

2† Teamacaron 開発キットの Eclipse ベースの開発環境は Windows XP、Windows Vista および Windows 7 に対応しています。

2.1

Cygwin のインストール

Windows パソコン上で開発環境を使うには、まず Cygwin をインストールする必要があります。
詳細については Teamacaron 開発キット CD-ROM 内の『Cygwin インストール方法説明書』をあわせてご参照ください。
† Windows のログイン時のアカウントは、管理者権限としてください。制限されたアカウントの場合、
ソフトウェアのインストールがうまくいきません。
また Windows のログイン時のアカウント名は、半角英数字のみとしてください。アカウント名に全角
文字や半角空白などが入ると、Cygwin で不都合が生じる場合があります。
† 既に Cygwin がインストールされている場合でも、バージョンが古かったり、必要なモジュールが足りない場合も考えられますので、『Cygwin インストール方法説明書』をご一読の上、必要に応じて再インストールをお願いいたします。

(1) パッケージの展開
Teamacaron 開発キット付属 CD-ROM 内の共通ソフトウェアのフォルダ (commonY=soft) にある Cygwin システムパッケージ「cygwin d.1.7.5-1.zip」を、いったんデスクトップなどに保存した上で、Windows のエクスプローラでマウスの右ボタンをクリックして「すべて展開 (A)...」を実行してください。展開先はハードディスクのどこでも構いません。
† ファイル名の中のバージョン番号は上記と異なる場合があります。

(2) インストーラの起動展開したフォルダ内にあるインストーラ setup.exe を起動します (図 2.1)。

図 2.1

Cygwin インストーラの起動

インストーラが起動したら 次へ > をクリックします。

(3) インストールタイプの選択「Install from Local Directory」を選択して 次へ > をクリックします。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

13(4) インストールディレクトリの選択
Cygwin をインストールするディレクトリを選択します。デフォルトでは「C:Y=cygwin」になっています。支障がなければデフォルトのままにしておきます (図 2.2)。

図 2.2

インストールディレクトリの選択

また「Install For」は「All Users」を選択してください。(デフォルトです。)
次へ > をクリックします。

(5) ローカルパッケージディレクトリの選択(1) でインストールパッケージを展開したフォルダを指定して、 次へ > をクリックします。
(6) インストールするパッケージの選択
ファイルのチェックが行われた後、「Setup Alert」ダイアログが表示される場合があります。
問題なければ OK をクリックします。次にインストールパッケージの選択画面になります。
「All」の右の「Default」をクリックして「Install」の状態にしてから 次へ > をクリックします (図 2.3)。

図 2.3

インストールするパッケージの選択(7) インストール
インストールが開始されます。時間がかかりますので、進度が 100% になるまでしばらくお待ちください。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

14(8) アイコンの作成「Create icon on Desktop」を選択して 完了 をクリックします(9) ファイル名の大文字と小文字の区別の設定
Cygwin 起動用バッチファイル「C:Y=cygwinY=cygwin.bat」をテキストエディタで開き、「bash --login -i」という行の前に次の行を追加します。

set CYGWIN=nowinsymlinks check_case:strict(10) home ディレクトリの初期化
デスクトップ上の「Cygwin」アイコンをダブルクリックして Cygwin を起動します。最初の起動時に home ディレクトリが初期化されます。

(11) gmake へのリンクの作成
gmake で make が起動するように、Cygwin 上で次のようにシンボリックリンクを作成します。
$ cd /usr/bin←$ ln -s make gmake←$(12) Perl へのリンクの作成
Perl がパス名 /usr/local/bin/perl で起動するように、Cygwin 上で次のようにシンボ
リックリンクを作成します。
$ cd /usr/local/bin←$ ln -s /usr/bin/perl←$
終わったら Cygwin のウィンドウは exit コマンドで閉じて構いません。

2.2

Eclipse のインストール

統合開発環境の Eclipse をインストールします。詳細については Teamacaron 開発キット CDROM 内の『Eclipse インストール方法説明書』をあわせてご参照ください。

(1) Java 実行環境のインストール
Eclipse の実行には Java 実行環境が必要です。まだインストールされていない場合、またはバージョンが古い場合は、http://www.java.com/ja/ からダウンロードしてインストール
してください。

(2) Eclipse システムパッケージの展開
Teamacaron 開発キット CD-ROM 内の共通ソフトウェアのフォルダ (commonY=soft) にある
以下の 4 つのファイルをいったんデスクトップなどに保存した上で、Windows のエクスプ
ローラでマウスの右ボタンをクリックして「すべて展開 (A)...」を実行してください。展開
先は C ドライブの直下 (C:Y=) を指定してください。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

15

Eclipse 本体

eclipse-platform-3.2.2-win32.zip

Eclipse 本体用日本語化パック

NLpack1-eclipse-platform-3.2.1-win32.zip

CDT プラグイン

org.eclipse.cdt-3.1.2-win32.x86.zip

CDT 日本語化パック

CDT_NL_3.1.1.zip† ファイル名の中のバージョン番号は上記と異なる場合があります。
† 展開先として C:Y= を指定すると、実際には C:Y=eclipse というフォルダが作成され、その下に展開されます。
† CDT プラグインの展開時に、上書きされるかどうか 2 回聞かれますが、ライセンス表示の html
ファイルですので、上書きで問題ありません。

(3) ショートカットの作成「C:Y=eclipseY=eclipse.exe」のショートカットをデスクトップ上に作成します。

(4) 起動の確認
Eclipse のショートカットをダブルクリックして Eclipse を起動します。図 2.4 のような起動画面が表示され、それからワークスペースの選択ダイアログが出れば正常です。いったんキャンセル をクリックして終了してください。

図 2.4

Eclipse の起動画面【トラブル シューティング】「Java Runtime Environment がない」と表示される場合は、(1) の Java
実行環境のインストールをご確認ください。

2.3

T-Kernel 開発環境のインストール

Eclipse に T-Kernel 開発用プラグインを追加インストールします。
詳細については Teamacaron 開発キット CD-ROM 内の『Eclipse 用 T-Kernel 開発環境インス
トール方法説明書』と『GNU 開発環境 (Eclipse 版) 説明書』をあわせてご参照ください。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

16(1) T-Kernel 開発用 Eclipse プラグインの展開
Teamacaron 開発キット CD-ROM 内の日本語版ソフトウェアのページ (jpY=soft) にある以下の 2 つのファイルをいったんデスクトップなどに保存した上で、Windows のエクスプロー
ラでマウスの右ボタンをクリックして「すべて展開 (A)...」を実行してください。展開先は

C:Y=eclipse を指定してください。
プラットホーム共通部分

com.t engine4u.te.1.0.9.zip

各機種対応部分

com.t engine4u.tl.em1d512.1.0.0.zip† zip アーカイブの展開は、Windows 標準の zip 展開機能で展開してください。他のソフトを使って展開すると、ソフトによっては正しく展開できない場合があります。
† ファイル名の中のバージョン番号は上記と異なる場合があります。

(2) T-Shell 開発用追加モジュールの展開
Teamacaron 開発キット CD-ROM 内の日本語版ソフトウェアのページ (jpY=soft) にある
以下のファイルをいったんデスクトップなどに保存した上で、Windows のエクスプローラ
でマウスの右ボタンをクリックして「すべて展開 (A)...」を実行してください。展開先は「C:Y=eclipseY=pluginsY=com.t engine4u.tl.em1d512.1.0.0 1.0.0Y=te」を指定してください。

T-Shell 開発用追加モジュール

com.t engine4u.tsh.em1d512.1.0.0.zip† ファイル名の中のバージョン番号は上記と異なる場合があります。

(3) Eclipse の起動
Eclipse のショートカットをダブルクリックして Eclipse を起動します。
(4) ワークスペースの選択
起動時にワークスペースの選択を聞かれます。ここではプロセスベースのプログラムを作成するための標準的なワークスペースである「C:Y=teY=bappl」としてください。
† ワークスペースとは、プロジェクトを保管するフォルダのことです。通常、プロセスベースのプ
ログラムを作成する場合は「C:Y=teY=bappl」、T-Kernel ベースのプログラムを作成する場合は
「C:Y
=teY
=kappl」、デバイスドライバを作成する場合は「C:Y=teY=driver」をワークスペースとするのが標準的ですが、これとは違う場所にワークスペースを作成しても構いません。

(5) ワークベンチにジャンプ「ようこそ」ビューが表示されますので、ワークベンチをクリックします (図 2.5)。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

17

図 2.5

Eclipse の「ようこそ」ビュー(6) T-Engine 開発パースペクティブを開く
メニューバーの「ウィンドウ」→「パースペクティブを開く」→「T-Engine 開発」 を選択します (図 2.6)。

図 2.6

T-Engine 開発パースペクティブの選択(7) T-Engine 開発環境の設定
メニューバーの「ウィンドウ」→「設定」 で設定ダイアログを開きます。
設定ダイアログの左側の中から「T-Engine 開発環境」を選択して内容を確認します。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

18

図 2.7

T-Engine 開発環境の設定

シリアルポートとして COM1 を使う場合は、te vcom の引数として「-B -X -l /dev/ttyS0」を指定します。
† -B は 通信速度 115200bps、-X はハードウェアフロー制御を行わないことを意味します。-l はマ
イナス・エルで、ラインデバイス名を指定します。COM ポート番号から 1 を引いた値がライン
デバイス名になります。例えば COM2 であれば「-B -X -l /dev/ttyS1」を設定してください。

(8) ワークスペースの設定
設定ダイアログの左側の中から「一般」の「ワークスペース」を選択して、次の設定を行います (図 2.8)。

• 「自動的にビルド」のチェックを外します。
• 「テキスト・ファイル・エンコード」の「その他」をチェックして、「EUC-JP」を選択します。
• 「新規テキスト・ファイルの行区切り文字」の「その他」をチェックして、「Unix」を選択します。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

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

19

図 2.8

ワークスペースの設定

なお環境設定はワークスペースごとに行う必要があります。
プロセスベースのワークスペース「C:Y=teY=bappl」での設定が終わったら、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=kappl」(T-Kernel
ベースのプログラム用のワークスペース) に切り替えて、同様の設定を行ってください。さらにワークスペースを「C:Y=teY=driver」(デバイスドライバ用のワークスペース) に切り替
えて、同様の設定を行ってください。

(9) ターゲット側との接続の確認
ターゲットと通信を行うため、中継プログラム (te vcom) とターミナルエミュレータ (gterm)を起動します。ツールバーの外部ツールの▼をクリックし、「外部ツール (E)…」をクリック
します (図 2.9)。

図 2.9

はじめてみよう Teamacaron

外部ツールの起動

c 2010 Personal Media Corporation°

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

20

外部ツールのダイアログが表示されたら、左側の「プログラム」の左の+をクリックすると「te vcom」と「gterm」の設定が表示されます。設定内容は通常変更する必要はありません。
まずは「te vcom」を選択し、「実行」してください (図 2.10)。

図 2.10te vcom の起動

続いて同様の手順で「gterm」を起動してください。コンソールに「gterm」の起動メッセー
ジが表示されます。
ターゲット側の Teamacaron が起動した状態で、gterm のコンソール上で ←-(Enter) キーを入力すると、ターゲット側から返されるプロンプト「[/SYS]%」が表示されます (図 2.11)。

図 2.11

はじめてみよう Teamacarongterm 上に表示されたターゲット側プロンプト

c 2010 Personal Media Corporation°

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

21

これらの外部ツール te vcom と gterm は、一度起動すると次回からはメニューバーの外部
ツールのプルダウンリストにショートカットが表示されますので、ショートカットを使って起動できます。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

22

3

開発手順

3.1

ターゲット側と開発環境側の起動開発を始めるには、まずターゲット側と開発環境側をそれぞれ次の手順で起動します。

(1) ターゲット側 (Teamacaron) の起動
Teamacaron に AC アダプタを接続して電源を供給します。
Teamacaron に接続したディスプレイ上に T-Shell の初期ウィンドウが表示されれば正常です。
(2) Eclipse の起動
Eclipse を起動します。
最初にワークスペースの選択を聞かれますので、プロセスベースの場合は「C:Y=teY=bappl」とします。

(3) te vcom と gterm の起動
Teamacaron と通信を行うには、メニューバーの外部ツールの▼をクリックして、中継プロ
グラム (te vcom) と端末エミュレータ (gterm) を起動しておく必要があります。
† Eclipse 上の開発では、通常はコンソールからコマンドを手で入力しなくても、Eclipse のダイアログからプログラムの転送や実行ができるようになっています。しかしこの場合でも Eclipse とTeamacaron の間の通信はコンソールを使いますので、通信が確立されていないとプログラムの転送や実行もできません。
したがって te vcom や gterm を必ず起動しておく必要があります。とくに Eclipse を起動した
直後や、ワークスペースを切り替えた直後は、te vcom や gterm は起動されていませんので、毎回起動する必要があります。

Eclipse のコンソールウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロ
ンプト「[/SYS]%」が表示されることを確認します。
† 複数の端末ソフトを同時に Teamacaron に接続しないでください。具体的には、Eclipse 上で
te vcom や gterm を起動する際は、ハイパーターミナルや TeraTerm などの他の端末ソフトは接続しない状態にしてください。また te vcom や gterm を 2 個以上重ねて起動しないでください。
【トラブル シューティング】 CLI のプロンプトが出ていない場合 (T-Monitor のプロンプト「TM>」が出ているなど) は、Teamacaron のリセットスイッチを押してターゲット側を再起動してください (図 3.1 : やや奥にあります)。

図 3.1

はじめてみよう Teamacaron

リセットスイッチの位置

c 2010 Personal Media Corporation°

3. 開発手順

3.2

23コンソールの利用

Teamacaron は開発に便利な各種ツール類が付属しています。プログラムの転送や実行について
は、gterm のコンソールからコマンドを手で入力しなくても、Eclipse のダイアログからプログラムの転送や実行ができるようになっています。しかしそれ以外のさまざまな用途のために、必要に応じて gterm のコンソールからこれらのツール類をご利用ください。

CLI (Command Line Interpreter)
プロセスベースのコマンドラインインタプリタです。開発に必要な、特にファイル関連操作な
どの強力な機能を提供します。プロンプトは標準では「[/SYS]%」です。詳しくは Teamacaron
開発キット CD-ROM 内の『開発ツール説明書』の「3. CLI 説明書」をご覧下さい。
† CLI のプロンプトは、cd コマンドでチェンジディレクトリすると、その変更先ディレクトリ名になります。

CLI 上で動作するユーティリティ
hdpart (区画作成)、format (フォーマット) などの各種ユーティリティーが CLI 上で使える外部コマンドとしてシステムディスク上に格納されています。詳しくは『開発ツール説明書』の「4. ユーティリティ」、「5. UNIX(ファイル) エミュレータコマンドツール」「6. ネッ
トワークユーティリティ」をご覧下さい。

IMS (Initial Monitor System)
T-Kernel ベースのモニタです。プロンプトは標準では「[IMS]%」です。詳しくは『開発ツール説明書』の「2. IMS」をご覧下さい。

T-Monitor
最も基本的なモニタです。ハードウェアレベルの操作などに威力を発揮します。プロンプト
は「TM>」です。

T-Monitor のコマンド一覧は『T-Monitor 仕様書』の「3.3. コマンド一覧」をご覧下さい。
さらに Teamacaron で追加された機能もあります。追加されたコマンドは『実装仕様書』の「2. T-Monitor 実装仕様」をご覧下さい。
以下に CLI と T-Monitor の簡単な実習例を示します。

(1) CLI のプロンプト確認
Eclipse のコンソールウィンドウの gterm 上で ←-(Enter) キーを何回か押して、CLI のプロ
ンプト「[/SYS]%」が表示されることを確認します。

[/SYS]%(2) CLI コマンド一覧
CLI の “?” コマンドを入力して、CLI のコマンド一覧を表示させます。
[/SYS]% ?←CLI コマンド一覧
att

det

eject

はじめてみよう Teamacaron

cd

ls

fs

…(後略)…

c 2010 Personal Media Corporation°

3. 開発手順

24(3) CLI コマンド詳細
CLI の “?” コマンドを使って “ls” コマンドの詳細ヘルプを表示させます。
[/SYS]% ? ls←ls [-f][-F][-l|-t] [<パス名>..]<パス名>のファイルの直下にあるファイル一覧を表示する…(後略) …

(4) ファイル一覧
CLI の “ls” コマンドを使ってファイルの一覧を表示させます。
[/SYS]% ls←SBOOTKERNEL.SYS

SYSCONF… (後略) …

(5) T-Monitor への移行
CLI の「#」コマンドを使って T-Monitor へ移行します。
[/SYS]% #←TM>(6) T-Monitor コマンド一覧
T-Monitor の “?” コマンドを使って T-Monitor のコマンド一覧を表示させます。
TM> ?←--- Command List :"? command" for details ---DumpByte/Half/Word(D/DB/DH/DW) … (後略) …
(7) T-Monitor コマンド詳細
T-Monitor の “?” コマンドを使って “OW” コマンドの詳細ヘルプを表示させます。
TM> ? ow←OutputWord(OW) port,data : Output Word to I/O port
(8) I/O 書き込み
T-Monitor の “ow” コマンドを使って 0xc005008c 番地に 32 ビットの値を書き込んで、LED2(赤) と LED3 (橙) を制御します (図 3.2)。
TM> ow c005008c,c0000000←Port C005008C:W <-- C0000000
TM> ow c005008c,c0004000←Port C005008C:W <-- C0004000
TM> ow c005008c,c0008000←Port C005008C:W <-- C0008000
TM> ow c005008c,c000c000←-

値

LED2

LED3

0xc0000000

ONON

0xc0004000
0xc0008000

OFF
ON

ON
OFF

0xc000c000

OFF

OFF

Port C005008C:W <-- C000C000

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

25

図 3.2

LED2、LED3 の位置(9) T-Monitor からの復帰
T-Monitor の “G” (Go) コマンドを使って CLI へ復帰します。
TM> g←[/SYS]%

3.3

プロセスベースと T-Kernel ベース

Teamacaron 上のプログラムは、大きく分けると「プロセスベースのプログラム」と 「T-Kernel
ベースのプログラム」の二つに分類されます。
プロセスベースのプログラム

T-Kernel Extension 上で動作するプログラムです。
一般のアプリケーションを作成するのに向いています。
メモリ保護が効くので、プロセスに不具合があってもシステム全体に悪影響を及ぼす可能性は少なくなります。
メモリ空間としては、一つのプロセスに対して一つの独立したローカル空間が割り当てられ、そのローカル空間上で動作します。ただしプロセス内にサブタスクを生成することができ、その場合は一つのプロセス内の複数のタスクが同じ空間を共有します。
プロセスの実行では、まず main() 関数が実行され、main() 関数が終了するとプロセスも終了します。
プロセスベースのプログラムから使える API については、Teamacaron 開発キット CD-ROM
内の以下のドキュメントをご参照ください。

• 『T-Kernel Extension 説明書』
プロセスやタスクなどの基本機能、ファイル、イベントなどの仕様書です。

• 『PMC T-Shell 説明書』、『PMC T-Shell プログラミング解説書』
画面描画、フォント、GUI、ネットワーク (TCP/IP) などの仕様書と解説書です。
† T-Shell の機能は基本的にはプロセスベース専用です。

• 『ライブラリ説明書』
C 言語標準ライブラリなどの説明書です。fopen() などのファイル操作ライブラリ (stdio.h)も含んでいます。
• 『デバイスドライバ説明書』
デバイスドライバを呼び出す場合に必要となる仕様書です。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

26

T-Kernel ベースのプログラム
T-Kernel の機能を直接使うプログラムです。
ハードウェア制御や割込みなどを扱うことができるため、デバイスドライバなどを作成するのに向いています。
メモリ保護は効きません。
メモリ空間は全体で一つの空間を共有します。システムの共有空間内に複数の T-Kernel ベースのプログラムがロードされ常駐する形です。

T-Kernel ベースのプログラムは lodspg コマンドで共有空間上にロードします。この時にmain() 関数が呼ばれ、第一引数 ac は渡される引数の個数を示します。通常この中でタスクやハンドラの生成などの初期化処理を行います。
また unlspg コマンドでアンロードすることができます。この時にも main() 関数が呼ばれ、第一引数 ac はマイナスの値です。通常この中で、最初に生成したタスクやハンドラの削除などの後処理を行います。

T-Kernel ベースのプログラムから使える API については、Teamacaron 開発キット CD-ROM
内の以下のドキュメントをご参照ください。
• 『T-Kernel 仕様書』
タスクやセマフォ、割込みハンドラなどのリアルタイム OS としての基本機能 (T-Kernel/OS) と、デバイスドライバ管理などの機能 (T-Kernel/SM) などの仕様書です。
• 『ライブラリ説明書』
C 言語標準ライブラリなどの説明書です。
† ライブラリ説明書に書かれたライブラリは、一部にプロセスベース専用、T-Kernel ベース
専用のものもありますが、それ以外はどちらからも利用可能です。

• 『デバイスドライバ説明書』
デバイスドライバを作成したりデバイスドライバを呼び出す場合に必要となる仕様書です。
† デバイスドライバを呼び出すのはプロセスベースでも T-Kernel ベースでもどちらでも可能
ですが、デバイスドライバを作成できるのは T-Kernel ベースだけです。

3.4「Hello, world」プロセスベース編

ここではまず有名な「Hello, world」プログラムを、プロセスベースで作成してみましょう。詳
細については『GNU 開発環境 (Eclipse 版) 説明書』をあわせてご参照ください。

(1) ワークスペースの指定
プロセスベースのプログラムですので、Eclipse 起動時にワークスペースとして「C:Y=teY=bappl」
を指定してください。
既に別のワークスペースで Eclipse が起動している場合は、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=bappl」に切り替えてください。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順27† ワークスペースを切り替えると Eclipse がいったん終了して te vcom と gterm も終了しますので、再度 te vcom と gterm を順番に起動する必要があります。その上で Eclipse のコンソール
ウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト「[/SYS]%」が表示されることを確認しておきます。

(2) プロジェクトの新規作成
テンプレートを使ってプロジェクトを新規作成します。
「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「新規」→「T-Engine C/C++ プロジェクト」を選択して、新規プロジェクト作成ダイ
アログで以下のように入力します (図 3.3)。

図 3.3

新規プロジェクト作成ダイアログ• プロジェクト名:
プロジェクト名は自由につけることができますが、ここでは例えば「hello」とします。

• ターゲット:
ターゲットの機種 (em1d512) を選択します。

• プログラムタイプ:「Process Base」を指定します。ワークスペースを「C:Y=teY=bappl」としていれば、「ワー
クスペース名による自動決定」のままでも自動的にプロセスベースになります。

• テンプレート:
チェックを入れて、テンプレートをここでは「gdbsample:gdb 操作のサンプル」を選択します。

• 出力ディレクトリの生成:チェックを入れます。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順28

最後に 終了 (F) をクリックするとプロジェクトが自動生成されます。

(3) ソースの作成「C/C++ プロジェクト」ビュー内に「hello」プロジェクトが生成されますので、ダブルクリックして開くとソースプログラムなどが参照できます。
ソースを次のように修正して、「Hello, world」を作成しましょう。

• hello/src/main.c :たとえば以下のように修正してください。

/* Hello, world (プロセスベース) */#include <basic.h>/* 基本共通ヘッダ */#include <stdio.h>/* printf() など */W main( W ac, TC *av[] ){printf( "Hello, worldY=n" );
return 0;}
修正したら、メニューバーの「ファイル」→「保管」で修正を保存します。
† W や TC などは、T-Kernel 仕様書で定義された型です。ここではプロセスにコマンドライ
ン引数を渡す意味で使っています。また return 0 としているのは、プロセス終了時に終了コードとして値 0 を返すためです。
詳細は『T-Kernel Extension 説明書』などをご参照ください。

• hello/src/Makefile :作成対象は「TARGET = hello」として、作成対象 (メイクしてできる実行ファイル名)を hello に変更します。
ソースファイルは「SRC = main.c」とします。(sub.c は削除します)
修正したら、メニューバーの「ファイル」→「保管」で修正を保存します。

• hello/src/sub.c, hello/src/sub.h :今回は不要なので削除します。右クリックメニューの中の「削除」で削除できます。

(4) メイク
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「hello/em1d512/Makefile」を選択した上で、メニューバーの「プロジェクト」→「T-Engine

Target の Make all」でメイクします。
メイクが成功すると、「hello/em1d512/」の下に「hello」という名前で実行ファイルが生成されます。
† プロセスの実行ファイルは、走っている人または虫の図形で表示されます。リンクするライブラ
リの一部にデバッグ情報が付いている場合は虫の図形で表示されますが、正常です。
【トラブル シューティング】「ビルダー起動中のエラー」が発生する場合は、「hello/em1d512/Makefile」
を選択しているか、いまいちどご確認ください。
【トラブル シューティング】「makedeps: Command not found」と出る場合は、/usr/local/bin/perlに Perl が正しくインストールされていない可能性があります。Cygwin のインストールおよびイ
ンストール後の設定をご確認ください。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順29(5) 実行ファイルの転送と実行転送する実行ファイルとして「C/C++ プロジェクト」ビュー内の「hello/em1d512/hello」を選択した上で、右クリックメニューの「実行」→「構成および実行」を選択します。
「構成および実行」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。
「hello」の転送や実行方法などの設定が自動設定されます (図 3.4)。

図 3.4「構成および実行」ダイアログ

実行 (R) をクリックすると、自動的に転送 (recv コマンド) と実行が行われ、「Hello, world」が表示されます (図 3.5)。

図 3.5「Hello, world」の実行【トラブル シューティング】 ファイルの転送と実行は CLI を使っていますので、CLI との通信ができないとうまくいきません。
このため Eclipse を起動したら、最初にメニューバーの外部ツールから te vcom と gterm を順番に起動しておく必要があります。その上で Eclipse のコンソールウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト [/SYS]% が表示されることを確認しておきます。
【トラブル シューティング】 「Can’t Create (-1966080)」と表示される場合 : このエラーは、起動ディスクがリードオンリーで書き込みができないことを示しています。書込み不可能なディスクから起動しているとこのような現象になります。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

3.530「Hello, world」T-Kernel ベース編

今度は「Hello, world」プログラムを T-Kernel ベースで作成してみましょう。ロード時に「Hello,

world」と表示し、アンロード時に「See you again」と表示するようにします。
(1) ワークスペースの指定
T-Kernel ベースのプログラムですので、Eclipse 起動時にワークスペースとして「C:Y=teY=kappl」
を指定してください。
既に別のワークスペースで Eclipse が起動している場合は、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=kappl」に切り替えてください。
† ワークスペースを切り替えると Eclipse がいったん終了して te vcom と gterm も終了しますので、再度 te vcom と gterm を順番に起動する必要があります。その上で Eclipse のコンソール
ウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト [/SYS]% が表示されることを確認しておきます。

(2) プロジェクトの新規作成
テンプレートを使ってプロジェクトを新規作成します。
「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「新規」→「T-Engine C/C++ プロジェクト」を選択して、新規プロジェクトダイアロ
グで以下のように入力します。

• プロジェクト名:
プロジェクト名は自由につけることができますが、ここでは例えば「hello2」とします。

• ターゲット:
ターゲットの機種 (em1d512) を選択します。

• プログラムタイプ:「T-Kernel Base」を指定します。ワークスペースを「C:Y=teY=kappl」としていれば、「ワークスペース名による自動決定」のままでも自動的に T-Kernel ベースになります。

• テンプレート:
チェックを入れて、テンプレートをここでは「sample:文字列出力サンプル」を選択します。

• 出力ディレクトリの生成:チェックを入れます。
最後に 終了 (F) をクリックするとプロジェクトが自動生成されます。

(3) ソースの作成「C/C++ プロジェクト」ビュー内に「hello2」プロジェクトが生成されますので、ダブルクリックして開くとソースプログラムなどが参照できます。
ソースを次のように修正して、「Hello, world」を作成しましょう。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

31• hello2/src/main.c :たとえば以下のように修正してください。

/* Hello, world (T-Kernel ベース) */#include <basic.h>/* 基本共通ヘッダ */#include <tk/tkernel.h>#include <stdio.h>/* T-Kernel ヘッダ *//* printf() など */ER main( INT ac, UB *av[] ){if (ac >= 0) {printf("Hello, worldY=n");} else {printf("See you againY=n");}return E_OK;}
修正したら、メニューバーの「ファイル」→「保管」で修正を保存します。

• hello2/src/Makefile :作成対象は「TARGET = hello2」として、作成対象 (メイクしてできる実行ファイル名)を hello2 に変更します。
修正したら、メニューバーの「ファイル」→「保管」で修正を保存します。

(4) メイク
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「hello2/em1d512/Makefile」を選択した上で、メニューバーの「プロジェクト」→「T-Engine Target の Make all」でメイクします。
メイクが成功すると、「hello2/em1d512/」の下に「hello2」という名前で、リロケータブ
ル形式の実行ファイルが生成されます。このほか絶対アドレス形式の hello2.abs と、それを strip してサイズを小さくした hello2.trg も作成されます。
† T-Kernel ベースの場合、リロケータブル形式の実行ファイルは、Eclipse では (走っている人や虫の図形ではなく) バイナリファイルの図形で表示されます。

(5) 実行ファイルの転送と実行転送する実行ファイルとして「C/C++ プロジェクト」ビュー内の「hello2/em1d512/hello2」を選択した上で、右クリックメニューの「実行」→ 「構成および実行」を選択します。
「構成および実行」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。「hello2」の転送や実行方法などの設定が自動設定されます。
実行 (R) をクリックすると、自動的に転送 (recv コマンド) と共有空間上にロード (lodspg
コマンド) が行われ、「Hello, world」が表示されます。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

3. 開発手順

32(6) 共有空間の表示
Eclipse のコンソールウィンドウの gterm で、共有空間上にロードされているプログラムの一覧を「ref spg」コマンドで見て、新たに hello2 がロードされていることを確認します。
[/SYS]% ref spg←[ 1] - 0xd0186000 -6screen5

hello2… (中略) …

[13] - 0xd0760000 [/SYS]%† システムプログラム ID やアドレスは条件によって異なります。

(7) アンロード
前項で表示された hello2 の システムプログラム ID (上の例では 13) を指定して unlspg
コマンドで hello2 をアンロードします。「See you again」と表示されます。

[/SYS]% unlspg 13←See you again[/SYS]%

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

33

実習用サンプルプログラム

4

Teamacaron 付属 CD-ROM には以下の実習用サンプルプログラムのソースが付属しています。
• ジャグリング (お手玉)
画面上にジャグリング (お手玉) のアニメーションを表示するプログラムです。

• 簡易ウェブサーバ
簡単なウェブサーバです。Teamacaron 上のファイルをネットワーク経由で配信して、他のマシン上のブラウザから見ることができます。

• LED と割込み
LED の点滅と、スイッチによる割込みの検出を行う、T-Kernel ベースのプログラムです。

4.1

ジャグリング (お手玉)

画面上にジャグリング (お手玉) のアニメーションを表示する、プロセスベースのプログラムです。表示には PMC T-Shell の描画機能を使っています。
ブレークポイントをかけて止めながら少しずつ動かしたり、変数の値を変更するといった、デバッグのサンプルとしても使えます。

(1) ワークスペースの指定
プロセスベースのプログラムですので、Eclipse 起動時にワークスペースとして「C:Y=teY=bappl」
を指定してください。
既に別のワークスペースで Eclipse が起動している場合は、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=bappl」に切り替えてください。
† ワークスペースを切り替えると Eclipse がいったん終了して te vcom と gterm も終了しますので、再度 te vcom と gterm を順番に起動する必要があります。その上で Eclipse のコンソール
ウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト [/SYS]% が表示されることを確認しておきます。

(2) プロジェクトの新規作成
プロジェクトを新規作成します。今回はテンプレートは使用しません。
「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「新規」→「T-Engine C/C++ プロジェクト」を選択して、新規プロジェクトダイアロ
グで以下のように入力します。

• プロジェクト名:
ここでは「juggling」とします。

• ターゲット:
ターゲットの機種 (em1d512) を選択します。

• プログラムタイプ:「Process Base」を指定します。ワークスペースを「C:Y=teY=bappl」としていれば、「ワー
クスペース名による自動決定」のままでも自動的にプロセスベースになります。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム34• テンプレート:
チェックを入れません。

• 出力ディレクトリの生成:チェックを入れます。
最後に 終了 (F) をクリックするとプロジェクトが自動生成されます。

(3) ソースの作成
Windows 標準の zip アーカイブ展開機能を使って、Teamacaron 開発キット CD-ROM の「jpY=tutorial」フォルダにある実習用プログラム「juggling.zip」を「C:Y=teY=bappl」以下に展開します。

Eclipse の「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「更新」を選択すると、展開されたソースディレクトリ「src」が表示されます。
(4) メイク
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「juggling/em1d512/Makefile」を選択した上で、メニューバーの「プロジェクト」 → 「T-Engine Target の Make all」でメイクします。
メイクが成功すると、「juggling/em1d512/」の下に「juggling」という名前で実行ファイルが生成されます (走っている人または虫の図形で表示されます)。

(5) 実行ファイルの転送と実行転送する実行ファイルとして「C/C++ プロジェクト」ビュー内の「juggling/em1d512/juggling」を選択した上で、右クリックメニューの「実行」→ 「構成および実行」を選択します。
「構成および実行」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。「juggling」の転送や実行方法などの設定が自動設定されます。
実行 (R) をクリックすると、自動的に転送 (recv コマンド) と実行が行われ、ジャグリン
グのアニメーションが表示されます (図 4.1)。

図 4.1

はじめてみよう Teamacaron

ジャグリングの実行画面
c 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

35(6) デバッグ用のメイク
デバッグを行うためには、デバッグ情報つきの実行ファイルをメイクする必要があります。
「em1d512.debug」という名前のフォルダ上でメイクすれば、デバッグオプションがついて、デバッグ情報つきでメイクされます。
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「juggling/em1d512.debug/Makefile」を選択した上で、メニューバーの「プロジェクト」→ 「T-Engine Target の Make all」でメイクします。
メイクが成功すると、「juggling/em1d512.debug/」の下に「juggling」という名前で、デバッグ情報つきの実行ファイルが生成されます (虫の図形で表示されます)。

(7) デバッグの開始
デバッグするデバッグ情報つき実行ファイルとして「C/C++ プロジェクト」ビュー内の「juggling/em1d512.debug/juggling」を選択した上で、右クリックメニューの「デバッグ」→ 「構成およびデバッグ」を選択します。
「構成およびデバッグ」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。「juggling」の転送やデバッグ方法などの設定が自動設定されます。
† (5) で作成した実行のための設定も残っていますが、今回はデバッグを行うので、必ず新規作成
してください。

デバッグ (D) をクリックすると、転送とデバッグが開始され、デバッグパースペクティブに切り替わります。切り替えの確認ダイアログが出る場合は はい (Y) で切り替えてください。

(8) ブレークポイントの設定
現在 main() 関数の先頭で停止した状態です。
ここで main() 関数の最後の方の「if (i > 0) sleep( i );」という行にブレークポイン
トをかけましょう。この行の左端でマウスを右クリックしてメニューを出し、「ブレークポイ
ントの切り替え (B)」でブレークポイントを設定します (図 4.2)。

図 4.2

はじめてみよう Teamacaron

ブレークポイントの設定

c 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

36(9) 実行再開
デバッグウィンドウ内の再開ボタン (緑の右の三角) をクリックして実行再開すると、ブレー
クポイントで停止するまで実行します (図 4.3)。

図 4.3

実行再開

再開を繰り返すと、ターゲット側の画面上では 1 ステップずつボールが動いていくのが分かります。

(10) 変数の値の変更
ブレークポイントで停止した状態で、変数ウィンドウ内の変数 N の値 (ボールの個数) を 3
から 6 に増やしてみましょう (図 4.4)。

図 4.4

変数の値の変更

実行再開すると、ターゲット側の画面上ではボールの個数が 6 個に増えます。
同様に変数 R (ボールの半径) を変えて実行再開すると、ターゲット側の画面上のボールの大きさが変わります。

(11) デバッグの終了
デバッグウィンドウ内の終了ボタン (赤い四角) をクリックします。
さらにデバッグウィンドウ内の「終了したすべての起動を除去」のボタン (灰色の 2 重×) をクリックします。
最後に Eclipse のウィンドウの右上にある「》」を選択して「T-Engine 開発」を選択すれば、元の T-Engine 開発パースペクティブに戻ります。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

4.2

37

簡易ウェブサーバ

簡単なウェブサーバです。Teamacaron 上のファイルをネットワーク経由で配信して、他のマシ
ン上のブラウザから見ることができます。
プロセスベースのプログラムです。ネットワーク通信には PMC T-Shell の TCP/IP 機能を使っています。

(1) ワークスペースの指定
プロセスベースのプログラムですので、Eclipse 起動時にワークスペースとして「C:Y=teY=bappl」
を指定してください。
既に別のワークスペースで Eclipse が起動している場合は、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=bappl」に切り替えてください。
† ワークスペースを切り替えると Eclipse がいったん終了して te vcom と gterm も終了しますので、再度 te vcom と gterm を順番に起動する必要があります。その上で Eclipse のコンソール
ウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト [/SYS]% が表示されることを確認しておきます。

(2) ネットワークの設定
Eclipse のコンソールウィンドウの gterm 上で ←-(Enter) キーを何回か押して、CLI のプロ
ンプト [/SYS]% が表示されることを確認したのち、「netconf」コマンドを使ってネットワー
クの設定を行います。
ご使用のネットワーク環境が DHCP による IP アドレスの自動割当てを行う場合には標準設定の 0.0.0.0 のままで問題ありません。そうでない場合には、「netconf c」コマンドでTeamacaron に IP アドレスを割り当てて下さい。
[/SYS]% netconf c ←hostname= ? tkernel←host ip= 0.0.0.0 ? 192.168.0.70←dns1namedns1 ip
dns2name= ? ←= 0.0.0.0 ? ←= ? ←-dns2 ip
domain= 0.0.0.0 ? ←= ? ←-gateway ip = 0.0.0.0 ? ←subnetmask = 255.255.255.0 ? ←wlan= none (n/a/i)? ←-— 自ホスト名— 自 IP アドレス
— DNS サーバ 1— DNS サーバ 2— ドメイン名— ゲートウェイ— サブネットマスク— 有線 LAN[/SYS]%† netconf コマンドのかわりに、T-Shell の画面で右クリックして「ネットワーク設定」で設定することも可能です。

(3) ネットワークの動作確認
Eclipse のコンソールウィンドウの gterm 上で、ping コマンドでネットワークの接続を確認します。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

38[/SYS]% ping localhost ←localhost is alive <192.168.0.70> : 0 ms

— 自分への ping[/SYS]% ping 192.168.0.1 ←192.168.0.1 is alive <192.168.0.1> : 0 ms

— 他のマシンへの ping

† この例では Teamacaron の IP アドレスは 192.168.0.70、他のマシンの IP アドレスは 192.168.0.1
ですが、それぞれご使用のネットワーク環境に合わせて適宜読み替えて下さい。

(4) 画像ファイルの転送
ウェブサーバで配信するコンテンツとなる画像ファイルを、ターゲット側に転送しておきます。

Eclipse のコンソールウィンドウの gterm 上で、次のように recv コマンドを使って、開発環境側のパソコン上にある画像ファイル (対応している形式は拡張子が .jpg または .png であるもの) を転送します。
例えば「C:Y=tmpY=abc.jpg」を転送する場合は次のようにします。

[/SYS]% recv -c -d /cygdrive/c/tmp/abc.jpg←同様に画像ファイルを数枚転送しておきます。

(5) プロジェクトの新規作成
プロジェクトを新規作成します。今回はテンプレートは使用しません。
「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「新規」→「T-Engine C/C++ プロジェクト」を選択して、新規プロジェクトダイアロ
グで以下のように入力します。

• プロジェクト名:
ここでは「webserv」とします。

• ターゲット:
ターゲットの機種 (em1d512) を選択します。

• プログラムタイプ:「Process Base」を指定します。ワークスペースを「C:Y=teY=bappl」としていれば、「ワー
クスペース名による自動決定」のままでも自動的にプロセスベースになります。

• テンプレート:
チェックを入れません。

• 出力ディレクトリの生成:チェックを入れます。
最後に 終了 (F) をクリックするとプロジェクトが自動生成されます。

(6) ソースの作成
Windows 標準の zip アーカイブ展開機能を使って、Teamacaron 開発キット CD-ROM の「jpY=tutorial」フォルダにある実習用プログラム「webserv.zip」を「C:Y=teY=bappl」以下に展開します。

Eclipse の「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「更新」を選択すると、展開されたソースディレクトリ「src」が表示されます。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

39(7) メイク
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「webserv/em1d512/Makefile」を選択した上で、メニューバーの「プロジェクト」 → 「T-Engine Target の Make all」でメイクします。
メイクが成功すると、「webserv/em1d512/」の下に「webserv」という名前で実行ファイルが生成されます (走っている人または虫の図形で表示されます)。

(8) 実行ファイルの転送と実行転送する実行ファイルとして「C/C++ プロジェクト」ビュー内の「webserv/em1d512/webserv」を選択した上で、右クリックメニューの「実行」→ 「構成および実行」を選択します。
「構成および実行」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。
「webserv」の転送や実行方法などの設定が自動設定されます。
実行 (R) をクリックすると、自動的に転送 (recv コマンド) と実行が行われます。

(9) ブラウザからの閲覧
ネットワーク上のパソコンのブラウザから、Teamacaron の IP アドレスを指定して、ブラウザ上に画像一覧が配信されることを確認します。例えば Teamacaron の IP アドレスが192.168.0.70 であれば、ブラウザから次のように URL を入力して下さい:「http://192.168.0.70/index.html」† index.html を指定すると、画像ファイルの一覧画面が自動作成されて配信されます。

(10) プロセス終了
最後にこのウェブサーバを終了させたい場合は、コンソールから ^C (Ctrl-C) を送ることでプロセスを終了させてください。Eclipse のコンソールウィンドウの上辺の右端付近の TE
ロゴマークのボタンを使って ^C を送信することができます (図 4.5)。

図 4.5

Eclipse での ˆC の送信

LED と割込み

4.3

LED の点滅と、スイッチによる割込みの検出を行う、T-Kernel ベースのサンプルプログラムです。

(1) ワークスペースの指定
T-Kernel ベースのプログラムですので、Eclipse 起動時にワークスペースとして「C:Y=teY=kappl」
を指定してください。
はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

40

既に別のワークスペースで Eclipse が起動している場合は、メニューバーの「ファイル」→「ワークスペースの切り替え」でワークスペースを「C:Y=teY=kappl」に切り替えてください。
† ワークスペースを切り替えると Eclipse がいったん終了して te vcom と gterm も終了しますので、再度 te vcom と gterm を順番に起動する必要があります。その上で Eclipse のコンソール
ウィンドウの gterm で、←-(Enter) キーを何回か押して、CLI のプロンプト [/SYS]% が表示されることを確認しておきます。

(2) プロジェクトの新規作成
プロジェクトを新規作成します。今回はテンプレートは使用しません。
「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「新規」→「T-Engine C/C++ プロジェクト」を選択して、新規プロジェクトダイアロ
グで以下のように入力します。

• プロジェクト名:
ここでは「ledint」とします。

• ターゲット:
ターゲットの機種 (em1d512) を選択します。

• プログラムタイプ:「T-Kernel Base」を指定します。ワークスペースを「C:Y=teY=kappl」としていれば、「ワークスペース名による自動決定」のままでも自動的に T-Kernel ベースになります。

• テンプレート:
チェックを入れません。

• 出力ディレクトリの生成:チェックを入れます。
最後に 終了 (F) をクリックするとプロジェクトが自動生成されます。

(3) ソースの作成
Windows 標準の zip アーカイブ展開機能を使って、Teamacaron 開発キット CD-ROM の「jpY=tutorial」フォルダにある実習用プログラム「ledint.zip」を「C:Y=teY=kappl」以下に展開します。

Eclipse の「C/C++ プロジェクト」ビュー内で右クリックして (またはメニューバーの「ファイル」から)、「更新」を選択すると、展開されたソースディレクトリ「src」が表示されます。
(4) メイク
メイクするターゲットとして「C/C++ プロジェクト」ビュー内の「ledint/em1d512/Makefile」を選択した上で、メニューバーの「プロジェクト」→「T-Engine Target の Make all」でメイクします。
メイクが成功すると、「ledint/em1d512/」の下に「ledint」という名前で、リロケータブ
ル形式の実行ファイルが生成されます。

はじめてみよう Teamacaronc 2010 Personal Media Corporation°

4. 実習用サンプルプログラム

41(5) 実行ファイルの転送と実行転送する実行ファイルとして「C/C++ プロジェクト」ビュー内の「ledint/em1d512/ledint」を選択した上で、右クリックメニューの「実行」→ 「構成および実行」を選択します。
「構成および実行」ダイアログが表示されますので、「T-Engine アプリケーション」で右クリックして「新規」を選択します。「ledint」の転送や実行方法などの設定が自動設定されます。
実行 (R) をクリックすると、自動的に転送 (recv コマンド) と共有空間上にロード (lodspg
コマンド) が行われます。
このプログラムにより、LED2(赤) または LED3(橙) が点滅を開始します。SW4 (LAN コネ
クタの近くにある押しボタンスイッチ) を押すと点滅パターンが変わります (図 4.6)。

図 4.6

はじめてみよう Teamacaron

LED2、LED3、SW4 の位置

c 2010 Personal Media Corporation
°

42

索引
C

CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Cygwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

T-Kernel ベース . . . . . . . . . . . . . . . . . . . . . . . 26
T-Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
UE

unlspg コマンド . . . . . . . . . . . . . . . . . . . . . . . 26

Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
W

FAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Windows 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Windows Vista . . . . . . . . . . . . . . . . . . . . . . . . 12

format コマンド . . . . . . . . . . . . . . . . . . . . . . . . 8

Windows XP . . . . . . . . . . . . . . . . . . . . . . . . . . 12Gあgterm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

ウェブサーバ . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Hかhdpart コマンド . . . . . . . . . . . . . . . . . . . . . . . . 7

画面サイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

F

クロス開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
I

コンソール . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

IMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
さJJava 実行環境 . . . . . . . . . . . . . . . . . . . . . . . . . 14
L

LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
lodspg コマンド . . . . . . . . . . . . . . . . . . . . . . . . 26

実行再開 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ジャグリング . . . . . . . . . . . . . . . . . . . . . . . . . . 33
シリアル変換ケーブル . . . . . . . . . . . . . . . . . . . 4
たデバッグ情報 . . . . . . . . . . . . . . . . . . . . . . . . . . 35

ls コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
はM

microSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Nnetconf コマンド . . . . . . . . . . . . . . . . . . . . . . . 37
Pping コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . 37
R

recv コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . 38
T

TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Tera Term Pro . . . . . . . . . . . . . . . . . . . . . . . . . . 5
te vcom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

ハイパーターミナル . . . . . . . . . . . . . . . . . . . . . 5
ブレークポイント . . . . . . . . . . . . . . . . . . . . . . 35
プロジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . 27
プロセスベース . . . . . . . . . . . . . . . . . . . . . . . . 25
まメモリ保護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
らリセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
わワークスペース . . . . . . . . . . . . . . . . . . . . . . . . 16

はじめてみよう Teamacaron

Version 1.A0.00
パーソナルメディア株式会社

Web: http://www.t-engine4u.com/
E-Mail: te-sales@personal-media.co.jp
c 2010 by Personal Media Corporation
Copyright °