Smalight 製品仕様

Smalight OS V3.10

OSの必要性

高性能なプロセッサタイプのマイコンでは当り前のOS導入も、メモリ容量・性能に制限の多い小型シングルチップ・マイコンでは、今までのOSでは大きすぎるなどの理由から導入事例が少ない一方でコスト競争の激しい分野ではまだまだ小型シングルチップマイコンの市場は大きいのが実態です。当社が開発したSmalightの誕生で小型シングルチップマイコンでもOS導入によるメリットを享受できる時代がきました。

【OS効果1】 品質向上・リアルタイム性向上

Smalightを使わない場合プログラム規模の増大で構造化が困難<br />
⇒品質・リアルタイム性の確保が困難
Smalightを使った場合機能単位のタスク分割で構造化<br />
⇒シンプルなソースで品質向上<br />
⇒意識せずにリアルタイム処理が実現<br />

【OS効果2】 資産の再利用性・移植性の向上

Smalightを使わない場合 このページのトップへ

API

区分 サービスコール 機能
タスク管理 slp_tsk タスクの起床待ち
tslp_tsk タスクの起床待ち(タイムアウト付き)
wup_tsk, iwup_tsk タスクの起床
can_wup タスク起床要求のキャンセル
rot_rdq, irot_rdq タスクのローテーション
sus_tsk, isus_tsk 他タスクのサスペンド
rsm_tsk, irsm_tsk サスペンドの解除
イベントフラグ wai_flg ベントフラグ待ち
twai_flg イベントフラグ待ち(タイムアウト付き)
set_flg, iset_flg イベントフラグの設定
clr_flg イベントフラグのクリア
evtflg_init イベントフラグの初期化
EVTFLG_ATTR(*2) イベントフラグの属性設定
セマフォ wai_sem セマフォ獲得
twai_sem セマフォ獲得(タイムアウト付き)
sig_sem, isig_sem セマフォの返却
sem_init セマフォの初期化
SEM_ATTR(*2) セマフォの属性設定
データキュー rcv_dtq データキューからの受信
trcv_dtq データキューからの受信(タイムアウト付き)
snd_dtq, isnd_dtq データキューへの送信
tsnd_dtq データキューへの送信(タイムアウト付き)
fsnd_dtq, fisnd_dtq データキューへの強制送信
dtq_init データキューの初期化
DTQ_ATTR(*2) データキューの属性設定
時間管理 set_tim システム時刻の設定
get_tim システム時刻の取得
systim_init 時間管理の初期化
slos_cyclic_timer 周期タイマ処理
周期ハンドラ sta_cyc 周期ハンドラの開始
stp_cyc 周期ハンドラの終了
cyc_init 周期ハンドラの初期化
CYC_ATTR(*2) 周期ハンドラの属性設定
CYC_CHG(*2) 周期ハンドラの起動周期設定
callback_cychdr(*3) 周期ハンドラ本体
割込み関連 INTPUSH(*1) disp有割込み発生時のレジスタ退避
INTPOP(*1) disp有割込み処理の終了とレジスタ復帰
disp disp有割込みハンドラをディスパッチして終了
callback_int(*3) disp有割込みハンドラ本体
その他初期化 slos_init OSの起動
kinit(*3) OS初期化処理
uinit(*3) ユーザ初期化処理
stack_init(*3) タスクスタックの初期化
その他 idle(*3) アイドル処理
トレース set_trc(*4) ユーザトレースの取得
get_trc(*4) トレースの参照
スタック操作 GET_REG(*2) ユーザタスクのスタックからのレジスタ参照
SET_REG(*2) ユーザタスクのスタックのレジスタ設定

(*1) アセンブラマクロです。
(*2) マクロです。
(*3) コールバックルーチンです。
(*4) 本機能を使用するためにOSを再構築する必要があります。
(*5) RZ/Aシリーズ用のサービスコールについては、こちらをご覧ください

このページのトップへ

タスク状態

シンプル・必要最低限のタスク状態でタスクを制御します。

状態 説明
Running 実行状態
Ready 実行待ち状態
Waiting 待ち状態
Suspended 中断状態
Waiting+Suspended 重複待ち(Waiting+Suspended)

このページのトップへ

構築

タスクの登録・スタックの設定・割込みの登録など簡単記述で構築できます。詳細はこちらを参照してください。

V3からGUIベースの構築支援ツール「Smalight Configurator」をサポートしました。
[ダウンロード]

このページのトップへ

アドイン

V3ではイベントフラグ、セマフォ、データキュー、周期ハンドラ等を標準化しました。その他機能についてはご要求あればアドインにてサポートします(有償)。

このページのトップへ

サポートデバイス

RXv2コアについて制限付きで対応可能です。(制限事項:DSP拡張命令はシングルタスクでの使用に限る。)
RZ/A ※紹介パンフレット

区分 MCU 製品名 ステータス
ローエンド H8/300H
H8/300H Tiny
H8/300H-SLP
SL3000KNL03S5B
R8C/Tiny(R8C/1x,2x,3x,Lx) SLR8C1KNL03S6B
RL78 SLRL78KNL03S1B
ミドルレンジ H8S/2000 SL2000KNL03S5B
H8S/2600 SL2600KNL03S5B
M16C/Tiny(2x)
M16C/3x,6x
SLM162KNL03S6B
RX200
RX100
SLRX20KNL03S1B
RX600 *1 SLRX60KNL03S1B
ハイエンド SH-2 SLSH20KNL03S9B
SH-2A
SH2A-FPU
SLSH2AKNL03S9B
SH-4 SLSH40KNL03S9B
SH-4A SLSH4AKNL03S9B
RZ/A SLRZA0KNL04S5N

*1 RXv2コアについて制限付きで対応可能です。(制限事項:DSP拡張命令はシングルタスクでの使用に限る。)

 年間サポート付き製品を新たに準備致しました。

区分 MCU 製品名 ステータス
ローエンド RL78 SLRL78KNL03S1S
ミドルレンジ RX200
RX100
SLRX20KNL03S1S
RX600 SLRX60KNL03S1S
ハイエンド SH-2A
SH2A-FPU
SLSH2AKNL03S9S
RZ/A SLRZA0KNL04S5S

このページのトップへ

開発環境

ルネサス エレクトロニクス(株)製High-performance Embedded Workshop(別売)のワークスペースを提供します。面倒なコンパイラ・リンカのオプション設定が不要です。

RXシリーズのサポートデバイスでは、High-performance Embedded Workshop(HEW)のプロジェクトファイルをCS+(旧CubeSuite+)用に変換することで、CS+(旧CubeSuite+)での開発環境の構築が出来ます。またe2studioでの開発環境の構築も同様に、HEWのプロジェクトファイルを変換する事で構築が出来ます。
  構築方法については、Smalightダウンロード内アプリケーションノートの各移行ガイドを参照下さい。

RL78はCS+(旧CubeSuite+)用のプロジェクトを提供します。

*Smalightのご購入時に限り、コンパイラパッケージも同時に弊社より購入が出来ます。詳細は弊社営業へご確認下さい。

詳細は、開発環境をご参照ください。

High-performance Embedded Workshop
ウィンドウ表示例
CS+(旧CubeSuite+)
ウィンドウ表示例

このページのトップへ

性能情報

RX(Big Endian)の場合

 最小構成 ROM=約940Byte RAM=27Byte(タスク3)
 最大構成 ROM=約8.0kByte RAM=144Byte(タスク3)

R8C/2x(アドレス空間 1MByte)の場合

 最小構成 ROM=約872Byte RAM=18Byte(タスク3)
 最大構成 ROM=約9.2kByte RAM=108Byte(タスク3)

※タスク数3を想定した場合の容量となります。
※最小構成は、プライオリティ無で、slp_tsk, wup_tskのみ使用時の容量です。
※最大構成は、プライオリティ有で、全てのサービスコールを使用時の容量です。
※OSはライブラリ化した上でリンクするため、使用しない機能は組み込まれず、ROM容量が最適化されます。
※記載のRAM容量にはスタックエリアは含まれません。

このページのトップへ

TCP/IP

Smalight OSにTCP/IPの実装は、μHI.Communication Engineをご検討下さい。
μITRON仕様OS向けRFC準拠のTCP/IP『HI.Communication Engine』を、μITRON Wrapperにより
ひとつの製品としたプロトコルスタックです。

このページのトップへ