TECS(TOPPERS Embedded Component System)は、組込みシステムに適したコンポーネントシステムです。
ここで組込みコンポーネントシステムとは、
TECSは、TOPPERS/ASPカーネルやTOPPERS/ATK1のように静的にコンフィグレーションするシステムにマッチするように設計されています。すなわち、コンポーネント(インスタンス化されたコンポーネントをcellと呼びます)の静的な生成と結合を基本としています。静的な生成と結合を基本としたことで、コンポーネント化によるオーバーヘッドが小さく、タスクやセマフォなどのカーネルオブジェクトのように、粒度の小さなものもコンポーネントとして扱うことができます。静的な生成と結合により、実行を開始する前にコンポーネントのメモリレイアウトが決定されたり、初期化に要する時間を短縮できるだけでなく、関数テーブルの要・不要の自動判定やコンポーネント記憶領域の削除などの最適化、インライン実装、ROM化支援などが可能となり、リアルタイムシステムに適したソフトウェアコンポーネントの開発が行えます。また、カーネルオブジェクトの静的APIのコードを自動生成しますから、これらを覚える必要がなくなります。
さらに、C言語のプロトタイプ宣言の曖昧さを排したインタフェース(signature)記述は、コンポーネント間のインタフェースの客観性を高めます。これにより、RPC(Remote Procedure Call)、関数呼び出しのトレースや、mruby ⇒ TECSブリッジなど、コンポーネント間に挿入して使用するコンポーネントの自動生成が可能になります。
TOPPERSプロジェクト TECS WGは、軽量Rubyフォーラム(外部リンク) ライブラリWGと以下を目的として、相互に協力を行います(2013年3月23日〜) 。
TECS仕様として、以下を規定しています(仕様書は簡易パッケージに含まれています)。
また、以下のものを開発しています(開発中非公開のものを含む)。
開発物 | 概要 |
---|---|
TECS ジェネレー タ個別パッケージ |
TECS ジェネレータの個別パッケージ です。 TECSジェネレータは、TECS CDLを解釈し、インタフェース、セルの初期化コードを生成するツールです。 TOPPERS/ASP3 の簡易パッケージに同梱されている TECS ジェネレータに比べ、ATK1, HRP2 に関するプラグイン、OpaqueRPC プラグインも同梱しています。 さらに、TOPPERS/ASP3 に対応する TECSCDE も同梱しています。 |
TECS リファレンスマニュアル | TECS 仕様書が暫定版に留まっていること、TECS CDL の最新機能に追いついていないことなどから、改めて TECS リファレンスマニュアルを作成しました。 こちら から参照できます。 |
各種カーネルのTECS対応 |
カーネルオブジェクトをTECS コンポーネント化しています。
|
ETロボコンプラットフォーム |
EV3RTをベースとした mruby on EV3RT + TECSプラットフォーム です。 「MINDSTORMS NXT用TOPPERS/ASP+TECSプラットフォームと教育コンテンツ:ETロボコン2013対応版」は、こちらにあります。 |
mruby on GR-PEACH+TECS |
mruby on GR-PEACH+TECS プラットフォーム です。 GR-PEACH 上で mruby(軽量Ruby)を動作させることができます。 ビルド方法やリファレンスマニュアルは、README および tecs-docs を参照してください。 |
各種プラグイン |
TECSジェネレータの機能拡張を行うためのプラグインです。
|
TECS GUIエディタ |
コンポーネント図をGUIで編集し、コンポーネント図からCDLファイルを生成するためのツールです。 TOPPERS/ASP3 に対応する V0.5.1 は、TECS ジェネレータの個別パッケージ に含まれています。 |
mruby on asp+tecs | mruby VMをTECSコンポーネント化したものです。 |
STM32Primer2 教材 | STM32Primer2を使用したTECSの教材です。 |
ミドルウェアのコンポーネント化 |
|
静的解析ツール | コンポーネント間のフロー解析とその結果に基づく見える化、各種最適化を支援するツールです。※早期リリース中 |
TECS仕様書 |
TECS 仕様書は、TECS 簡易パッケージ に含まれています。 現在 TECS 仕様書は、最新の TECS CDL に追従していません。TECS リファレンスマニュアル を参照してください。 |
TECS ジェネレータの個別パッケージです。
TOPPERS/ASP3 の簡易パッケージに同梱されている TECS ジェネレータに比べ、ATK1, HRP2 に関するプラグイン、OpaqueRPC プラグインも同梱しています。
さらに、TOPPERS/ASP3 に対応する TECSCDE も同梱しています。
TECS 個別パッケージ | ||||
パッケージ | TECSジェネレータのバージョン | リリース日 | ||
---|---|---|---|---|
tecsgen-1.6.1.tgz | 1.6.1 | 2018-5-06 | ||
tecsgen-1.6.0(TOPPERS HRP3 3.0.0同梱) との違い | ||||
tecsgen-1.5.0.tgz | 1.5.0 | 2017-6-16 | ||
tecsgen-1.4.0.tgz | 1.4.0 | 2016-11-16 | ||
tecsgen-1.3.1.7.tgz | 1.3.1.7 | 2016-05-11 |
TECSの最新リリースの簡易パッケージを配布しています。この簡易パッケージは、TECS 仕様書、TECS 対応 TOPPERS/ASP を含みます。
TECS 簡易パッケージ | ||||
パッケージ | TECSジェネレータのバージョン | リリース日 | ||
---|---|---|---|---|
tecs_package-20120608.tar.gz | 1.1.0 | 2012-06-12 | ||
tecs_package-20100604との違い | ||||
tecs_package-20100604.tar.gz | 1.0.2 | 2010-06-07 | ||
tecs_package-20090728との違い | ||||
tecs_package-20090728.tar.gz | 1.0.0.6 | 2009-07-28 | ||
tecs_package-20090612との違い | ||||
tecs_package-20090612.tar.gz | 1.0.0.3 | 2009-06-12 |
ETロボコン用のASPカーネルを含むTECSパッケージはこちらにあります。
TECS コンポーネント図編集ツール TECSCDE V0.5.0 です。機能的に十分でないため V0.5.0 としていますが、既存の cdl ファイルからコンポーネント図をおこしたり、定義済みのセルタイプやシグニチャを利用して組上げ記述を作成するのには有用です。今後機能拡張していきます。
TECSCDE パッケージ | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
tecscde-MinGW-V0.5.0.tgz | 39.0MB | 2015-06-09 |
MrubyBridgePlugin は mruby から TECS コンポーネントを操作するプログラムを自動生成する TECS ジェネレータのプラグインです。本パッケージには TECS ジェネレータと mruby が含まれています。cygwin や Linux などの環境でビルドして試してみるように構成されています。README-TECS.txt をお読みください。mruby から C を呼び出すプログラムを自動生成する Mruby2CBridgePlugin も同梱しています。
MrubyBridgePlugin パッケージ | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
MrubyBridgePluginPackage-130616.tgz | 2.1MB | 2013-06-21 |
EV3RTをベースとしたmruby on EV3RT+TECSプラットフォームです。mruby(軽量Ruby)でEV3を操作できます (一通りのセンサ、モータを利用可能)。スタンドアローンで開発する方法とBluetoothを用いて開発する方法の2つが利用できます。マルチVM機能に対応し、複数のmrubyプログラムを動作させることが出来ます。動作環境、使用方法はreadme.txtを参照してください。詳しくは、下記のドキュメントを参照してください。
mruby on ev3rt+tecs | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
mruby-on-ev3rt+tecs_package-beta2.1.0.tar.gz | 28.6MB | 2018-05-23 | ||
mruby-on-ev3rt+tecs_package-beta2.0.1.tar.gz との違い | ||||
mruby-on-ev3rt+tecs_package-beta2.0.1.tar.gz | 27.1MB | 2017-05-17 | ||
mruby-on-ev3rt+tecs_package-beta2.0.0.tar.gz | 28.8MB | 2017-05-02 | ||
mruby-on-ev3rt+tecs_package-beta1.0.1.tar.gz | 22.8MB | 2016-05-27 | ||
mruby-on-ev3rt+tecs_package-beta1.0.0.tar.gz | 22.8MB | 2016-05-11 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.2.tar.gz | 17.9MB | 2015-07-12 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.1.tar.gz | 23.8MB | 2015-06-17 | ||
mruby-on-ev3rt+tecs_package-alpha1.0.0.tar.gz | 23.9MB | 2015-06-09 |
mruby on GR-PEACH+TECS プラットフォームです。
GR-PEACH 上で mruby(軽量Ruby)を動作させることができます。
ビルド方法やリファレンスマニュアルは、README および tecs-docs を参照してください。
mruby on GR-PEACH+TECS | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
mruby_on_GR-PEACH-TECS_package-alpha1.0.0.tar.gz | 1.5MB | 2017-12-19 | ||
mruby on asp+tecsの簡易パッケージです。tecs_package-20120608.tar.gzにmrubyのサンプルプログラムを付け加えた構成になっています。サンプルのコンパイル・実行方法は、doc/Readme.txtをお読みください。
mruby on asp+tecs | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
mruby-on-asp+tecs_package-130618.tar.gz | 6.4MB | 2013-06-21 |
TOPPERS/ATK1(Automotive Kernel)に対応した個別パッケージです。 TOPPERS/ATK1 OAKS16-mini版の基本構成に、TECSコンポーネント化した旧ATK1のサンプルプログラムとシステムライブラリに換装した構成となっています。TECSジェネレータの実行により、OSEK仕様に基づいた関数スケルトン出力と、OILファイルの自動生成に対応しているのが特徴です。
ルネサスエレクトロニクスの統合開発環境 TM V.3.20A、同社製コンパイラ NC30WA(V.5.45 Release01)の環境にてご利用になれます。
ATK1+TECS 簡易パッケージ | ||||
パッケージ | バージョン | リリース日 | ||
---|---|---|---|---|
atk1+tecs_1.0.0.zip | 1.0.0 | 2012-11-14 |
この教育教材は、TECSの基礎を理解すると共に、STM32Primer2を使用して、 TECSを用いたプログラム作成の実習を行うためのものです。 この教材パッケージには、実習に用いるプログラムのソースコードに加えて、 組込みソフトウェアの基礎から、実習環境の構築方法、TECSを用いた基礎的な プログラミングから応用的なプログラミングまで(最終的にMP3プレイヤを作成する) をカバーするプレゼン資料が含まれています。
TECS 教材 | ||||
パッケージ | サイズ | リリース日 | ||
---|---|---|---|---|
stm32primer2_tecs_edu-20101129.tar.gz | 14MB | 2010-12-01 |