まず、今後教材として付き合っていくことになるTeaboardについて、もう少し詳しく知っておくことにしましょう。
Teaboardのハードウェア構成は、表1のとおりです。特徴としては、以下のような点が挙げられます。
CPU | Freescale MC9328MX1(i.MX1:ARM920Tコア、最大200MHz) |
---|---|
フラッシュROM | 2Mbytes |
RAM | 16Mbytes |
入出力 インターフェイス |
USB(Function)、RS-232C(シリアル)×2、LAN(10/100BASE-T)、SDカードスロット、拡張バスI/F、JTAG-ICE I/F |
汎用スイッチ | プッシュスイッチ2bit、トグルスイッチ4bit、ディップスイッチ4bit |
LED | LED 8bit、7セグメントLED 2けた |
I/O | D/A、A/Dコンバータ、デジタルIO(GPIO、PWM) |
そのほか | 圧電ブザー、温度センサ |
電源 | USBバスパワー(またはACアダプタ) |
サイズ | 120×75mm(突起物を除く) |
表1 Teaboardのハードウェア構成 |
Teaboardに付属するソフトウェアは、ボード上で動作するT-Kernelなどと、PC上で動作する開発環境で構成されています(表2)。これらはT-Engine開発キットの構成と同様です。
ターゲットボード側ソフトウェア | |
---|---|
T-Monitor | PMC T-Monitor |
T-Kernel | PMC T-Kernel(MMU対応版) |
T-Kernel | Extension プロセス管理、ファイル管理など |
デバイスドライバ | SDカード、RS-232Cなど |
CLI | コマンドラインインタプリタ(ファイル操作、バッチ処理など) |
ツール類 | SDカードの区画作成、フォーマットなど |
ホスト(PC)側開発環境 | |
コンパイラ | GNU C/C++コンパイラ(T-Kernel対応済み) |
デバッガ | GDB(ソースレベルデバッガ) |
ライブラリ | ANSI Cライブラリ、T-Kernel関連ライブラリなど |
付属ドキュメント | |
マニュアル | T-Kernel仕様書、ライブラリ説明書、開発環境説明書など |
教材 | 各種サンプルプログラム、テキスト教材 |
表2 Teaboardのソフトウェア構成 |
Teaboard紹介の結びとして、Teaboardでどのようなことができるか、いくつか例を挙げてみたいと思います。
例1:ともかく動かして遊んでみる
1976年に発売された、8bitマイコンボード「TK-80」。マイコンの基礎を修得するトレーニングキットとして有名ですが、Teaboardはいわばその現代版といえます。当時は「組み込みOS」という考え方そのものがほとんどありませんでした。Teaboardであれば、32bit CPUと組み込みOS(T-Kernel)を体験することができます。
入出力は、取りあえずprintf()などでPC上のコンソールに行うのがお手軽です。もちろん、RS-232CやSDカードへの入出力も簡単です。LAN機能もあるので、TCP/IPを用いたネットワークプログラミングが可能です。Teaboardに標準で付属しているサンプルプログラムの中には、簡易WebサーバやFTP、Telnetクライアントなどもあります。
外付け回路を製作すれば、デジタル入出力(GPIO)を通じて各種センサに接続したり、モータやソレノイドなどの制御を行うこともできます。
例2:実用的なシステムに組み込む
Teaboardを実用的なシステムに組み込んで、安価な実行用ボードとして使うこともできます。
例として、ICカードで扉の鍵を開ける電気錠システムを考えてみましょう。RS-232C接続のICカードリーダであれば、物理的にはそのままTeaboardに接続できます。電気錠への出力や扉の状態の入力には、TeaboardのGPIOを用います。必要であれば、LANでほかのマシンへログ出力を行うこともできます。
ソフトウェア面では、RS-232CやLANのドライバはTeaboardに付属しているものがそのまま使えます。新規に開発すべきソフトウェアは、基本的にはカードリーダからICカードのIDを読み取り、登録されているIDであれば電気錠へ解錠信号を出すプログラムだけでいいことになります。SDカード上にカードIDのデータを格納しておけば、データを書き換えるだけで新しいカードの追加やカード紛失時の無効化などに柔軟に対応できます。
Copyright © ITmedia, Inc. All Rights Reserved.