T-Engineプログラミング環境を構築しよう:T-Engineプログラミング入門(1)(4/4 ページ)
習うより慣れろ。まずはT-Engineプログラミングを体験しよう。今回は、環境構築から“Hello, world”のコンパイルまで
Teaboardを使った開発の流れ
Teaboardの準備が整ったことですし、早速T-Engineプログラミングを体験してみましょう。最初の実習として、コンソール上に“Hello, world”と表示する、単純な(しかし由緒正しい)プログラムを取り上げます。
まずPC上でソースファイルを書き、それをコンパイルして実行ファイルを作成。その実行ファイルをTeaboard上に転送して実行するというのが開発の全体像です。コンパイルするマシン(PC)と実行するマシン(Teaboard)のアーキテクチャが異なる開発手法を「クロス開発」と呼びます。組み込み系のソフトウェア開発では、ごく一般的な開発方法です。
では、より詳しく各作業を見ていきましょう。
作業ディレクトリの作成
開発環境をCygwin上にインストールすると、ユーザーアプリケーション作成用に「/usr/local/te/bappl」というディレクトリが作成されます。このディレクトリの下に新規に「hello」ディレクトリを作成し、その下にソースファイル用のディレクトリ「src」とオブジェクト用のディレクトリ「tbmx1」を作成します。つまり、以下のようになります。
具体的には、Cygwin上で以下のコマンドを実行します。
$ cd /usr/local/te/bappl $ mkdir hello hello/src hello/tbmx1
プログラムのコーディング
ここでコーディング作業に入るわけですが、今回はごく簡単なプログラムです。以下の内容のhello.cファイルをWindows上で作成し、C:\cygwin\usr\local\te\bappl\hello\src\に保存します。
#include <stdio.h> main() { printf("Hello, world\n"); return 0; }
リスト C:\cygwin\usr\local\te\bappl\hello\src\hello.c |
Makefileの作成
Makefileとは、メイク(コンパイルやリンク)の手順を示したテキストファイルです。Windows上でC:\cygwin\usr\local\te\bappl\hello\src\にMakefileを作成します。開発環境上には、デフォルトの標準ルール(makerules)が用意されています。基本的にはこの標準ルールを読み込むだけでよいので、ここでは以下の3行だけを記述します。
include ../../etc/makerules VPATH = ../src hello: hello.o
リスト C:\cygwin\usr\local\te\bappl\hello\src\Makefile |
メイクの実行
プログラムとMakefileの準備ができたら、それらをコンパイルして実行ファイルを生成するメイクの実行です。メイクはCygwin上で行います。
$ cd /usr/local/te/bappl/hello/tbmx1 $ ln -s ../src/Makefile $ gmake
基本的には、オブジェクト用のディレクトリに移動(1行目)してgmakeコマンドを実行(3行目)するだけです。ただし、初回のみMakefileへのシンボリックリンクを設定する必要があります(2行目)。
以上で自動的にコンパイルとリンクが行われ、実行ファイルhelloが生成されます。
TeaboardのSDカードに実行ファイルを転送
Teaboardのrecv(レシーブ)コマンドを用いて、実行ファイルをTeaboardのSDカードに転送します。Tera Term ProでTeaboardに接続して、CLI上で以下のコマンドを実行します。
[/SYS]% recv -c hello
これで、Teaboardはファイルの受信待ち状態に入ります。Tera Term ProのXMODEMファイル送信機能([File]−[Transfer]−[XMODEM]−[Send])を用いて、先ほどメイクした実行ファイルhelloを送信します。
helloの実行
実行ファイルの転送が終わったら、Tera Term ProでTeaboardのCLIに「hello」と入力して実行します。
[/SYS]% hello Hello, world
上記のように、「Hello, world」という文字列がTera Term Pro上に表示されれば成功です。
今回は、Teaboardを用いたT-Engineプログラミングの超入門編として、コンパイルから実行までを説明しました。次回からは、今回構築した環境を用いてより実践的なプログラミングに進みます。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.