Smalight 製品仕様

Smalight OS V3.10の製品仕様について掲載しています。

OSの必要性

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

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

品質向上・リアルタイム性向上

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

CPUの相違点をSmalight OSが吸収します。
アプリケーションはCPUを気にせずに開発できます。
資産の再利用性・移植性の向上

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

サポートデバイス

RZ/A ※紹介パンフレット
区分 MCU 製品名 開発環境※
ローエンド H8/300H
H8/300H Tiny
H8/300H-SLP
SL3000KNL03S5B ルネサス エレクトロニクス(株)製
High-performance Embedded Workshop
R8C/Tiny(R8C/1x,2x,3x,Lx) SLR8C1KNL03S6B
RL78 SLRL78KNL03SAB ルネサス エレクトロニクス(株)製
CS+(旧CubeSuite+)
ミドルレンジ H8S/2000 SL2000KNL03S5B ルネサス エレクトロニクス(株)製
High-performance Embedded Workshop
H8S/2600 SL2600KNL03S5B
M16C/Tiny(2x)
M16C/3x,6x
SLM162KNL03S6B
RXファミリ(RX100,RX200,RX600) SLRX00KNL03S2B ルネサス エレクトロニクス(株)製
CS+(旧CubeSuite+)
ハイエンド SH-2 SLSH20KNL03S9B ルネサス エレクトロニクス(株)製
High-performance Embedded Workshop
SH-2A
SH2A-FPU
SLSH2AKNL03S9B
SH-4 SLSH40KNL03S9B
SH-4A SLSH4AKNL03S9B
RZ/A SLRZA0KNL04S5N ARM社製ARM Development Studio 5
※Smalightのご購入時に限り、ルネサスエレクトロニクス㈱製コンパイラパッケージも同時に弊社より購入ができます。詳細は弊社営業へご確認ください。
開発環境の詳細は、開発環境をご参照ください。

性能情報

RX(v2コアの場合)

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

RL78(ミディアムモデル)

最小構成 ROM=約900Byte RAM=23Byte(タスク3)
最大構成 ROM=約8.0kByte RAM=120Byte(タスク3)
※タスク数3を想定した場合の容量となります。
※最小構成は、プライオリティ無で、slp_tsk, wup_tskのみ使用時の容量です。
※最大構成は、プライオリティ有で、すべてのサービスコールを使用時の容量です。
※OSはライブラリ化した上でリンクするため、使用しない機能は組み込まれず、ROM容量が最適化されます。
※記載のRAM容量にはスタックエリアは含まれません。
各CPU毎の詳細な性能情報をダウンロード

Smalight(組込みOS)に関するご相談、ご質問は、下記フォームよりお問い合わせください。

Copyright Maxell Frontier Co., Ltd. All rights reserved.