Smalight OS V3.10の製品仕様について掲載しています。
OSの必要性
高性能なプロセッサタイプのマイコンでは当り前のOS導入も、メモリ容量・性能に制限の多い小型シングルチップ・マイコンでは、今までのOSでは大きすぎるなどの理由から導入事例が少ない一方でコスト競争の激しい分野ではまだまだ小型シングルチップマイコンの市場は大きいのが実態です。
当社が開発したSmalightの誕生で小型シングルチップマイコンでもOS導入によるメリットを享受できる時代がきました。
当社が開発したSmalightの誕生で小型シングルチップマイコンでもOS導入によるメリットを享受できる時代がきました。
【OS効果1】 品質向上・リアルタイム性向上
【OS効果2】 資産の再利用性・移植性の向上
CPUの相違点をSmalight OSが吸収します。
アプリケーションはCPUを気にせずに開発できます。
アプリケーションは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) | ユーザタスクのスタックのレジスタ設定 |
タスク状態
シンプル・必要最低限のタスク状態でタスクを制御します。
状態 | 説明 |
---|---|
Running | 実行状態 |
Ready | 実行待ち状態 |
Waiting | 待ち状態 |
Suspended | 中断状態 |
Waiting+Suspended | 重複待ち(Waiting+Suspended) |
構築
タスクの登録・スタックの設定・割込みの登録など簡単記述で構築できます。詳細はこちらを参照してください。
V3からGUIベースの構築支援ツール「Smalight Configurator」をサポートしました。[ダウンロード]
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 |
性能情報
RX(v2コアの場合)
最小構成 ROM=約900Byte RAM=27Byte(タスク3)
最大構成 ROM=約7.5kByte RAM=144Byte(タスク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毎の詳細な性能情報をダウンロード
最大構成 ROM=約8.0kByte RAM=120Byte(タスク3)
※タスク数3を想定した場合の容量となります。
※最小構成は、プライオリティ無で、slp_tsk, wup_tskのみ使用時の容量です。
※最大構成は、プライオリティ有で、すべてのサービスコールを使用時の容量です。
※OSはライブラリ化した上でリンクするため、使用しない機能は組み込まれず、ROM容量が最適化されます。
※記載のRAM容量にはスタックエリアは含まれません。
各CPU毎の詳細な性能情報をダウンロード