MENU
トピックス
フォーラムご案内
プレスリリース
関連イベント
製品紹介
幹事会社
関連リンク
事務局


T-Engine/SH7727開発キット徹底紹介

パーソナルメデイア株式会社


はじめに

2002年8月8日より「T-Engine/SH7727開発キット」が発売されました。T-Engine/SH7727開発キットは、TRONプロジェクトが推進する、ユビキタス時代のスーパー開発プラットフォーム「T-Engine」の仕様に基づいたコンピュータシステムのひとつで、世界で初めて一般向けに商品化されたものです。以下、T-Engine/SH7727開発キットのあらましや、実際の利用形態についてレポートします。

図1 T-Engine/SH7727開発キットの各ボード
左から、LCDボード、CPUボード、デバッグボード

T-Engine/SH7727開発キットの概要

T-Engine/SH7727開発キットには、T-Engineボード(ハードウェア)本体をはじめ、標準リアルタイムOSであるT-Kernel、Linux上で動作するGNUペースのクロス開発環境、各種マニュアルや関連ドキュメントを収録したCD-ROMが含まれています。本開発キットと開発用のLinuxマシンを用意するだけで、すぐにT-Engine上のミドルウェアやアプリケーションの開発ができる構成になっています。

●T-Engineボードの特長

T-Engineボードには、以下のような特長があります。
・ 回路図、各種コネクタの仕様およびボードで使用しているFPGAの内部論理など、ボードに関するすべての情報を「SH7727 T-Engine Board 取扱説明書」に掲載しています。
・ PCMCIAコントローラや音源チップ等の周辺LSIは、一般に市販されているものを使用しています。これらのメーカーや型番も、取扱説明書に掲載しています。
・ PCMCIAスロット、音源チップ、およびeTRONカードコネクタ等を塔載しているため、これらのハードウェアを応用したシステムの開発が行えます。
・ ユーザー独自のハードウェアを接続できるように、SH7727のアドレスバス、デーアバス、および制御信号を出力した拡張スロットを塔載しています。
このためT-Engineボードを用いることにより、次のような用途や応用例が考えられます。
? T-Engine上で流通するミドルウェアやアプリケーションの開発、動作確認、およびデバッグを行うための実行用ターゲットボードとして利用できます。
? 携帯電話、AV機器およびデジタル家電など、各種の組込み機器の制御用ソフトウェアを開発するための、開発評価用ボード(リファレンスプラットフォーム)として利用できます。
? 本キットに含まれるコンパクトなCPUボードを、制御用のボードコンピュータとして、そのまま最終製品に組み込んで利用できます。このようなケースでは、T-Engineボードに付いているタッチパネル付き液晶パネルを、高機能なコピーマシンや自動販売機などのユーザー向け操作パネル、あるいはメンテナンス用のコンソールとしてそのまま活用できます。
? コンパクトな実験・教育用のボードコンピュータとして利用できます。情報工学関連の学科でコンピュータやOSなどの原理を教えるには、回路図、ソフトウェア構成、OSの仕様書など、内部の構造に関する情報がオープンになっている教材用のコンピュータが必要です。この点で、近年ハードウェアやソフトウェアのブラックボックス化が進んでいるPCなどよりも、「T-Engine/SH7727開発キット」のような、仕様がオープンな開発評価用ボードのほうが適当です。

●T-Engineボードのハードウェア

ハードウェア本体であるT-Engineボードは、T-Engineフォーラムが策定した、T-Engine仕様(Ver.1.A0.00)に準拠しており、メインの基板であるCPUボード、LCDやボタン等が実装されたLCDボード、EPROMを塔載したデバッグボードの3つのボードから構成されています(図1)。
メイン基板には、CPUとして株式会社日立製作所製マイクロプロセッサSH7727を塔載しています。SH7727は、日立オリジナルのRISC方式SuperHアーキテクチャCPUと、デジタル信号処理(DSP)拡張機能を核として、内蔵乗算器、キャッシュメモリ、内蔵X/Yメモリ、MMU、さらにT-Engine仕様で必要とされる、USB Hostインタフェース、LCDコントローラ、シリアルコミュニケーションインタフェースを集積した、1チップRISCマイクロプロセッサです。このSH7727は、T-Engineボード上で内部96MHz、外部48MHzで動作します。
メイン基板には、このCPUのほか、8Mバイトフラッシュメモリ、32MバイトSDRAM、シリアル、PCMCIAスロット、音声入出力、USB、赤外線リモコン送信LED、eTRONカードコネクタ、拡張スロットが塔載されています。
LCD基板には、240×320ドット、262,144色の表示能力を持つTFT LCDモジュールが塔載されています。このLCDモジュールには、タッチパネルも装備されています。また、3つのボタンスイッチと、赤外線受信モジュールもボード上に実装されています。
デバッグボードには、EPROM、8ビットLED、H-UDI(Hitachi-User Debug Interface)コネクタ、テストピンが塔載され、拡張スロットを通じてメイン基板と接続されます。デバッグボードを使うことにより、EPROMに記録されたプログラムを実行して、T-Engineボード上のフラッシュメモリや、電源制御コントローラのファームウェアの書換えが可能になります。また、8ビットLEDを使ったソフトウェアの実行状態のチェック、H-UDIコネクタを使ったH-UDIデバッガの接続、およびEPROM塔載ソケットとテストピンを利用したROMエミュレータの接続などが可能です。

●ソフトウェア

開発キットには、以下のようなソフトウェアが含まれます。

○PMC T-Monitor

T-Monitor仕様に準拠したモニタです。
T-MonitorはT-Engineの基本モニタとしてROMに塔載され、以下のような機能を持っています。
(1) システム機能
・ハードウェア初期化
・システム起動
・例外/割込み/トラップ処理機能
(2)デバッグ機能
・メモリ操作
・レジスタ操作
・I/O操作
・逆アセンブル
・プログラム/データのロード
・プログラムの実行
・ブレークポイント操作
・トレース実行
・ディスクの読込み/書込み/ブート
(3) プログラムサポート機能
・モニタサービス関数の提供

○PMC T-Kernel

T-Kernel仕様に準拠したリアルタイムカーネルです。以下のような構成になっています。
・T-Kernel/Operationg System
(T-Kernel/OS)
−タスク制御機能
−タスク間同期通信機能
−メモリ管理機能
−例外/割込み制御機能
−時間管理機能
−サブシステム管理機能
・T-Kernel/System Manager
(T-Kernel/SM)
−システムメモリ管理機能
−アドレス空間管理機能
−デバイス管理機能
−割込み管理機能
−I/Oポートアクセスサポート機能
−省電力機能
−システム構成情報管理機能
・T-Kernel/Debugger Support
(T-Kernel/DS)
−カーネルの内部状態の参照
−実行のトレース
なお、一般には上記のT-Kernel/OS、T-Kernel/SM、T-Kernel/DSの3つを合わせてT-Kernelと呼んでいますが、T-Kernel/OSのみを(狭義の)T-Kernelと呼ぶ場合もあります。

○PMC T-Kernel Extension

開発用基本ミドルウェアとも呼ばれ、開発キット用に、T-Kernel/OSのサブシステム機能を利用して構築したOSの拡張部分です。BTRON3仕様に準拠した以下の機能を含んでいます。
・プロセス/タスク管理
・メッセージ管理
・プロセス/タスク間同期通信管理
・グローバル名管理
・メモリ管理
・ファイル管理
・イベント管理
・デバイス管理
・時計管理
・システム管理
これらの拡張により、仮想記憶OSを実現しており、開発環境としてファイルやプロセスの機能を利用できるようになっています。

○デバイスドライバ

開発キット用に、T-Kernel/SMのデバイス管理機能の仕様に基づいた、以下のデバイスドライバが含まれます。
・PCカードマネージャ
・USBマネージャ(バスドライバ)
・時計(RTC)
・コンソール(シリアル)
・システムディスク(ATAカード、USB)
・KB/PD(キーパッド、タッチパネル、USBキーボード/マウス)
・スクリーン(内蔵LCD)

○アプリケーション

以下の開発ツールが含まれています。
(1)IMS(Initial Monitor System)
T-Kernelの初期タスクとして起動されるプログラムであり、以下の機能を持っています。
・コマンドによるT-Kernelの各種状態の参照/操作
・システムプログラム(サブシステム)のロード/アンロード
・システムプログラム(プロセス)の実行
・コマンドファイルの実行
・システムの初期起動コマンドファイルSTARTUP.CMDの自動実行
(2) CLI(Command Line Interpreter)
システムの1プロセスとして起動されるプログラムであり、以下の機能を持っています。
・コマンドによるファイルを中心とした各種操作
・システムプログラム(サブシステム)のロード/アンロード
・アプリケーションプログラムの実行
・コマンドファイルの実行
(3)ユーティリティ
フォーマッタ、その他各種ツール、テストプログラムなどが含まれます。

これらのソフトウェアは、フラッシュメモリイメージとして、モトローラSフォーマットのオブジェクトファイル形式で提供されます。フラッシュメモリ自体は、これらのソフトウェア一式を書き込んだ上で出荷するため、通常はその内容を書き換えることはありませんが、ソフトウェアを最新の内容にアップデートしたり、バージョンを切り替えたりする場合は、ユーザー自身でソフトウェアをフラッシュメモリに書き込む必要があります。ソフトウェアの書換えは簡単で、デバッグボード上のEPROMに書き込まれたダウンローダを起動して、モトローラSフォーマットのオブジェクトファイルを転送するだけで、オブジェクトの転送とフラッシュメモリへの書き込みが自動的に行われます。ソフトウェアが書き込まれたフラッシュメモリ自体はROMディスクとして認識され、CLIからその内容を見ることができます。

●GNUペースのクロス開発環境

T-Engineの開発環境として、Linuxで動作するGNUペースのクロス開発環境を提供しています。超漢字開発者サイトで公開しているBV-GSDKと同じく、GNUツール(gcc-3.0.4、binutils-2.11.2、gdb-5.2)を使って構築されたクロス開発環境です。redhat7.1上での動作を確認しています(図2)。また、サンプルソースが充実しており、これらのサンプルを参考にしながら、T-Engine上で流通するデバイスドライバやミドルウェア、T-Engine上のアプリケーション等を、容易に構築できるようになっています。
なお、このGNUペースのクロス開発環境本体と開発環境の説明書(PDF)は、開発キット付属CD-ROMに収録されています。

図2 Red Hat Linux 7.1 上で動作する開発環境

●関連ドキュメント

開発キットでは、製品マニュアル、仕様書、ハードウェアマニュアルをPDFファイルとして、CD-ROMに収録しています(図3)。
ハードウェアの仕様書として、以下のマニュアルが提供されます。
・ SH7727 T-Engine Board 取扱説明書(pp.173, PDF, 第一版)
SH7727 T-Engineボードの取扱説明書です。回路図、各種コネクタ、周辺LSIの仕様、およびボードで使用しているFPGAの内部論理など、ボードに関するすべての情報を掲載しています。
ソフトウェアの仕様書として、以下の3つを収録しています。
・ T-Monitor仕様書(pp.47, PDF, 1.B0.01)T-Monitorの公式仕様書です。
・ T-Kernel仕様書(pp.321, PDF, 1.B0.01)T-Kernelの公式仕様書です。
・ 実装仕様書(pp.36, PDF, SH7727版)
T-Monitor/T-KernelのT-Engine/SH7727の実装に依存した部分の詳細な仕様書です。
製品マニュアルとして、以下の4つが提供されます。
・ 取扱説明書(pp.62, PDF, 1.A0.00)
開発キットの内容および操作方法に関する説明書です。
・ ライブラリ説明書(pp.79, PDF, 1.A0.00)
開発キットに含まれるC言語ライブラリに関する説明書です。
・ デバイスドライバ説明書(pp.123, PDF, 1.A0.00)
開発キットに含まれるデバイスドライバに関する説明書です。
・ GNU開発環境説明書(pp.18, PDF, 1.A0.00)
開発キットに含まれるGNU開発環境のインストール方法および操作方法に関する説明書です。

図3 「T-Engine/SH7727開発キットソフトウェアおよび開発用ドキュメント」CD-ROMの内容

T-Engine/SH7727開発キットでのソフトウェア開発

具体的に、T-Engine/SH7727開発キットを入手してから、ソフトウェア開発を行うまでの手順を見てみましょう。

●GNU開発環境のインストール

開発キットに添付されているCD-ROMから、開発用のLinuxマシンに開発環境をインストールします。インストールの方法は、「T-Engine/SH7727開発キット GNU開発環境説明書」で説明されています。具体的には、3つのtarファイルをインストールディレクトリに展開して、環境変数を設定し、サンプルのコンパイルを行って開発環境の動作確認をとる、という簡単なものです。

●T-Engineボードとデバッグコンソールの 接続

図4 T-Monitor起動時のデバッグ用コンソール画面

図5 T-Kernel、IMS、CLI起動時のデバッグ用コンソール画面

開発キットに付属のシリアルケーブルを使って、デバッグコンソールを接続します。通常は、開発用Linuxマシンと接続し、Linuxマシン上で開発環境に含まれるgtermというターミナルソフトを起動してデバッグコンソールとします。
この状態で、T-EngineボードをROMディスクから起動すると、起動時のログがデバッグコンソールに出力されるのが確認できます。
この段階でCLI、IMS、T-Monitorをデバッグコンソールから操作できるため、開発に先立って、これらの開発ツールの習熟や訓練、T-Monitor、T-Kernel等のソフトウェア構成の把握を行うことができます(図4、図5)。

●作業用ディスクの準備

T-Engineボード上のフラッシュメモリは読み出し専用のROMディスクとして動作するため、開発したソフトウェアを格納するためには、読み書き可能な作業用ディスクを別途用意する必要があります。作業用ディスクとしては、ATAカードやCFカード、またはUSB Mass Storage Class使用準拠のUSBストレージデバイスが使えます。これらの作業用ディスクは、実際にT-Engineボードに装着し、T-Engineボード上のCLIを使って、区画設定、およびフォーマットを行ってから使用します。また、作業用ディスク自体をブートディスクとして作成し、T-Engineボードの起動を作業用ディスクから行うことも可能です。これらの手順は「T-Engine/SH7727開発キット 取扱説明書」に説明されています。

●モニタベースのソフトウェアの作成

モニタベースのソフトウェアは、 T-Kernelの機能を使用しない、ハードウェア上で直接動作するソフトウェアで、MMUを使用せず、モニタで使用している資源以外の、すべてのハードウェア資源を利用することができます。
作成したオブジェクトは、Sフォーマット形式に変換して、モニタのLoadコマンドやgtermの.loadコマンドでメモリ上にロードし、モニタのGoコマンドで実行します。
開発キットにはモニタサービス関数を用いて、コンソールからの1文字入力と1文字出力を行うサンプルが付属しています。

●T-Kernelベースのソフトウェアの作成

T-Kernelベースのソフトウェアは、T-Kernelの機能を利用する、デバイスドライバやサブシステムなどのリアルタイムソフトウェアで、MMUを使用した環境でシステムの共通空間に常駐して動作します。
作成したオブジェクトは、CLIのrecvコマンドを利用して、作業用ディスクにいったんファイルとして保存してから、CLIまたはIMSのlodspgコマンドでロードと実行を行います。
開発キットには、T-Kernelベースのプログラムとして、画面描画テストプログラムscrtst、T-Kernelベースのデバイスドライバとして、clk、console、kbpd、lowkbpd、rs、screen、sysdskの各ドライバが、サンプルとして付属しています。これらのうち、kbpd、lowkbpd、rs、screenは実際にROMディスクの /SYS に配置され、T-EngineボードをROMディスクから起動すると、STARTUP.CMDの記述に従って、IMSにより自動的にロードと起動が行われます(clk、console、sysdskはシステム起動に必須となるため、OS核(KERNEL.SYS)に含まれ、IMSに先立って起動されます)。scrtstもROMディスクの /SYS に配置され、デバイスドライバのロードと起動が完了した後で実行され、LCD画面にT-Engineのロゴをあしらったテスト画像を描画します。

●プロセスベースのソフトウェアの作成

プロセスベースのソフトウェアは、T-Kernel Extension上でプロセスとして仮想メモリ上で動作するソフトウェアで、T-Kernelの機能を直接利用することはできません。一般のアプリケーションソフトウェアやライブラリ相当のミドルウェアのうち、MMUを使用した環境で、ローカル空間にロードして実行するものについては、プロセスベースのソフトウェアとして作成します。
作成したオブジェクトは、CLIのrecvコマンドを利用して、作業用ディスクにいったんファイルとして保存してから、CLIまたはIMSから直接プログラム名を指定してロードと実行を開始します。
開発キットには、プロセスベースのプログラムとして、cardinf、cmp、dd、devlist、ed、usbinfの各ツール類がサンプルとして付属しています。これらは実際に /SYS/bin に配置され、CLIからコマンド名を指定して実行することができます。

終わりに

「T-Engine/SH7727開発キット」は、TRONプロジェクトの最終目標である、ユビキタス・コンピューティング環境の構築のためのスーパー開発プラットフォームです。また、開発評価用ボードとしては極めて安価な価格設定となっており、組込み分野におけるソフトウェア開発の裾野が大きく広がることが期待されるほか、回路図、ソフトウェア構成、OS使用などの内部構造がオープンになっていることから、実験・教育用のボードコンピュータとしても利用が可能です。
T-Engine上のミドルウェアやアプリケーションの開発、制御用組込み機器の開発に携わる方はもちろんのこと、ユビキタス・コンピューティングに興味をお持ちの方や、コンピュータやOSの原理を学びたい方も、「T-Engine/SH7727開発キット」を使って、ユビキタス時代における最先端のスーパー開発プラットフォームの世界を楽しんでみてはいかがでしょうか。
なお、「T-Engine/SH7727開発キット」の標準価格は145,000円(税別)です。ご注文方法などの詳細に関しては、パーソナルメディアまでお問い合わせください。

■速報
パーソナルメディアでは、三菱電機のM32Rを用いた「μT-Engine/M32104開発キット」も発売しました。詳細はhttp://www.personal-media.co.jp/te/

back


Copyright(C)2002 T-Engine Forum all rights reserved.
mail: office@t-engine.org