semicon.toshiba.co.jp

高速・省メモリのRTOS
UDEOS 4/ Lite のご紹介
R
Unified Development Environment Operating System
エンベデッドシステム事業部
2014年 2月 7日
Copyright 2014, Toshiba Information Systems (Japan) Corporation.
会社概要
商号
設立
1962(昭和37)年8月21日
資本金
10億円
株主
代表者
本社所在地
支社/支店
東芝ソリューション株式会社
株式会社東芝
取締役社長
63.5%
36.5%
恩地 和明
〒210-8540
川崎市川崎区日進町1番地53
興和川崎東口ビル
北海道支店、 東北支店、 中部支社
関西支社、
九州支店
事業内容
エンベデッドシステムソリューション、 LSIソリューション、
SIソリューション、ヘルスケアソリューション
URL
http://www.tjsys.co.jp
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
2
アジェンダ








UDEOS 4/ Lite の概要
R
タスク
割込みハンドラ
デバッグ機能
開発環境
プログラム完成までのステップ
性能値
UDEOS の実績とその他製品の紹介
R
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
3
UDEOS 4/ Lite の概要
R
UDEOS シリーズ製品ラインナップ
R
Lite の開発経緯
Lite の特長
Lite のサポート機能
Lite の構成
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
4
□ UDEOS シリーズ製品ラインナップ
R
弊社では、μITRON3.0/4.0仕様に準拠したリアルタイムOS 「UDEOS シリーズ」
の開発、販売、技術サポートを行っております。
R
◆μ ITRON3.0仕様 UDEOS
Standard
R
TX49
TX39
◆μ ITRON4.0仕様 UDEOS 4
R
Standard
TX49
Compact
Cortex-M3
Lite
ARM9
※1
Cortex-M0
ARM11
※1
※1
Cortex-M3
開発中
Cortex-M0/M3 向けに最適化した、最高速かつ最軽量の「UDEOS 4/ Lite」を
開発中。
R
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
5
□ UDEOS 4/Lite の開発経緯
R
APP
APP
RTOS
HW(MCU)
HW(MCU)
UDEOS 4/ Cortex-M3
R
☆ お客様からの要望 ☆
OSレス環境から移行した場合に
インパクトが小さいRTOSが欲しい!
→ RTOSの軽量化、高速化が必要
UDEOS 4/ Lite
R
軽量化と高速化のために
• 機能の削減とサービスコールの簡素化
• データ構造の最適化
• スタック共有機能の改善
• 割込み処理の改善
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
6
□ UDEOS 4/Lite の特長
R
ARM Cortex-M0, M3プロセッサ向けリアルタイムOS
μITRON4.0仕様に準拠
デバッグ機能
• OSのイベントトレース機能
• スタックオーバーフロー検出機能
タスクスタックの共有機能
• 複数のタスク間においてスタックを共有することが可能
→ RAMの削減
高速な割込み応答性
• 40MHz動作時に0.7us程度
コンパクトサイズな設計
• MCU向けに内蔵ROM/RAMのみで動作可能
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
7
□ UDEOS 4/Lite のサポート機能
R
◆ UDEOS 4/Lite のサポート機能
R
UDEOS 4/Lite サポート機能
R
(μITRON4.0仕様スタンダードプロファイル)
タスク管理機能
•
–
タスク付属同期機能
•
タスク例外処理機能
同期・通信機能
タスク管理機能 / タスク付属同期機能
同期・通信機能
–
セマフォ
イベントフラグ
•
データキュー
メモリプール管理機能
固定長メモリプール
時間管理機能
システム時刻管理
周期ハンドラ
•
システム状態管理機能
周期ハンドラ、アラームハンドラ
システム状態管理機能
–
•
セマフォ、イベントフラグ
時間管理機能
–
メールボックス
タスクの起動/終了、待ち機能
ロック/アンロック、ディスパッチ禁止/許可
割込み管理機能
–
割込み定義、割込み禁止/許可、割込みマスク変更
割込み管理機能
•
システム構成管理機能
システム構成管理機能
–
※グレーは未サポート機能
•
実装独自機能
–
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
例外ハンドラ定義、初期化ルーチン定義
ログ機能、割込み優先度変更
8
□ UDEOS 4/Lite の構成
R
種類
静的エラーチェック
スタックオーバーフロー
チェック
イベントトレース
デバッグカーネル
○
○
○
エラーカーネル
○
×
×
リリースカーネル
×
×
×
種類
機能
静的エラーチェック
サービスコールの静的エラーチェックを行う機能
十分に検査したアプリケーションではE_CTXやE_PARなどのチェックを外すことでROM容量の削減
とサービルコールの処理速度を高める効果があります。
スタックオーバーフロー
タスクや割込みのスタックのオーバーフローを検出する機能
タスクの切り替え時や割込み終了時にスタックオーバーフローの有無を検出し、スタックオーバーフ
ロー検出時にはシステムダウンします。
イベントトレース
割込み、CPU例外、ディスパッチ、サービスコールの発行、システムダウンなどのイベントを記録する
機能
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
9
タスク
タスクの仕様
制約タスクとは
スタック共有のイメージ
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
10
□ タスクの仕様
◆省メモリ化のために機能を制限
• タスクは16個まで生成可能
• 1つの優先度に複数タスクの生成は不可
• タスクの優先度の変更は不可
• タスクの多重起動は不可
◆タスクは4つの状態をサポート
• 実行状態 (RUNNING)
• 実行可能状態 (READY)
• 待ち状態 (WAITING)
• 休止状態 (DORMANT)
ディスパッチ
RUNNING
READY
プリエンプト
実行可能状態
待ち解除
実行状態
待ち
WAITING
待ち状態
起動
DORMANT
終了
休止状態
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
11
□ 制約タスクとは
◆ 制約タスクとは
– 他のタスクとスタックを共有したタスク
– 優先度が異なるタスク間においてもスタックの共有が可能
◆ 制約事項
– 待ち状態に入ることができない
– タスクからのリターンによって、 タスクを終了させなければならない
(ext_tsk で終了できない)
◆ 制約タスクの定義方法
– CRE_TSKのタスク属性にTA_RSTRを指定
■コンフィグレーション設定ファイルの記述例
/* 制約タスクの定義 */
CRE_TSK(TSKA, {TA_HLNG|TA_RSTR, 0, tska, 0, 512, NULL});
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
12
□ スタック共有のイメージ
◆ TaskA~Dの最大スタック使用量
• TaskA: 300B
• TaskB: 100B
300+100+300+200
• TaskC: 300B
= 900Byte
• TaskD: 200B
◆TaskA~Dのスタックを共有化
TaskA~Dが共通で使用する
スタックを1つ用意する
Task A
Task B
Task C
Task D
◆ TaskA~Dの合計スタック使用量
実際にTaskA~Dが使
用する合計スタック使
用量は 500Byte
600
500
Stack
500B
400
300
Task D
200
Task C
TaskA~Dが
共有スタックを
使用している
場合の1例
Task B
100
Task A
0
0
50
100
150
500Byte
アプリの実行時間
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
13
割込みハンドラ
割込みハンドラの特長
割込みハンドラの処理
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
14
□ 割込みハンドラの特長
割込みハンドラの特長
• ベクタテーブルから直接呼ばれる (オーバーヘッドが小さい)
• サービスコールの発行が可能である
• 割込みスタックを使用して動作する
■コンフィグレーション設定ファイルの記述例
/* 割込みハンドラの定義 */
DEF_INH(intno, {TA_HLNG, inthdr});
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
15
□ 割込みハンドラ(INTHDR)の処理
INTHDR (ディスパッチなし)
①割込みスタックに切り替えられる
ベクタテーブルから直接呼ばれる
INTHDR
Interrupt
①
TASK
TASK
INTHDR (ディスパッチあり)
①INTHDR内でのサービスコールの発行
- ディスパッチ要求が発生
- 例外( PendSV )をペンディングさせる
② INTHDR終了後、PendSVが発生
③ PendSV内でディスパッチ処理を行う
サービスコールの発行
①
INTHDR
Interrupt
②
③
PendSV
TASK
TASK
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
16
デバッグ機能
イベントトレース機能
スタックオーバーフローのチェック機能
静的エラーチェック機能
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
17
□ イベントトレース機能
 OSがシステムのイベントをメモリへ記録する機能
• 記録するイベントはアプリケーションから動的に選択可能
• イベントの記録に使用するバッファのサイズはコンフィグレーション可能
 記録したイベントを解析することで問題の解決に役立つ
 イベントの種類
• リセット
• 初期化ルーチンの起動
•
•
•
•
•
サービスコールの発行
ディスパッチ
割込み
システムダウン
ユーザレベルのイベント
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
18
□ イベントトレース (その1)
No. TID
Event
0| 0|RESET
1| 0|INIT (0)
2| 0|INIT (0)
3| 0|INIT (1)
4| 0|INIT (1)
5| 0|INIT (2)
6| 0|INIT (2)
7| 0|INIT (3)
8| 0|INIT (3)
9| 0|INIT (4)
10| 0|INIT (4)
11| 0|INIT (5)
12| 0|INIT (5)
13| 0|INIT (6)
14| 0|ena_int(4)
15| 0|ena_int(5)
16| 0|ena_int(6)
17| 0|INIT (6)
18| 0|INIT (7)
19| 0|vchg_ilv(15)
20| 0|INIT (7)
21| 0|DSP (0 -> 1)
22| 1|sta_cyc(1)
23| 1|wai_flg(1)
24| 1|DSP (1 -> 2)
25| 2|slp_tsk()
東芝情報システム
Error
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|E_OK
|E_OK
|E_OK
|
|
|E_OK
|
|
|E_OK
|EV_WAIT
|
|EV_WAIT
PC
|
|
|0x000002F9|INI
|
|INI
|0x00000391|INI
|
|INI
|0x0000031D|INI
|
|INI
|0x0000028D|INI
|
|INI
|0x00000211|INI
|
|INI
|0x000028AD|INI
|
|INI
|0x0000140D|INI
|
|
|
|
|
|
|
|INI
|0x0000146D|INI
|
|
|
|INI
|0x00002915|
|
|
|
|
|0x00002969|
|
|
- UDEOS 4/Lite のご紹介 -
R
Info
begin
end
begin
end
begin
end
begin
end
begin
end
begin
end
begin
end
begin
初期化ルーチン
の起動ログ
最初のタスクへの
ディスパッチ
end
ディスパッチ先タスクのPC
19
□ イベントトレース (その2)
No.
71|
72|
73|
74|
75|
76|
77|
78|
79|
80|
81|
82|
83|
84|
85|
86|
87|
88|
89|
90|
91|
92|
93|
94|
95|
96|
TID
Event
Error
0|INTERRUPT (15) |
0|INH (0)
|
0|CYCHDR (1)
|
0|set_flg(3)
|E_OK
0|wup_tsk(2)
|E_OK
0|sig_sem(1)
|E_OK
0|CYCHDR (1)
|
0|isig_tim()
|E_OK
0|INTERRUPT (15) |
0|DSP (0 -> 2)
|
2|set_flg(1)
|E_OK
2|DSP (2 -> 1)
|
1|wai_flg(1)
|EV_WAIT
1|DSP (1 -> 2)
|
2|slp_tsk()
|EV_WAIT
2|DSP (2 -> 3)
|
3|wai_sem(1)
|EV_WAIT
0|IDLE
|
0|INTERRUPT (15) |
0|INH (0)
|
0|isig_tim()
|E_OK
タスクID
0|INTERRUPT (15) |
0|INTERRUPT (15) |
0|INH (0)
|
0|isig_tim()
|E_OK
0|INTERRUPT (15) |
東芝情報システム
PC
|0x0000198A|INT
|0x00001105|INH
|0x00002241|CYC
|
|
|
|
|
|
|
|CYC
|
|
|
|INT
|0x000008E9|
|
|
|0x00000BB5|
|
|
|0x00000743|
|
|
|0x00000C85|
|
|
|
|
|0x0000198C|INT
|0x00001105|INH
|
|
|
|INT
|0x0000198A|INT
|0x00001105|INH
|
|
|
|INT
- UDEOS 4/Lite のご紹介 -
R
Info
begin imsk(1)
begin
begin ptn:0x00000000
end
割込み発生ログ
割込みハンドラ
起動ログ
CYC起動ログ
end
begin imsk(1)
begin
end
begin imsk(1)
begin
end
20
開発環境
IAR社製開発環境
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
21
□ 開発環境
■ IARシステムズ社製 開発環境
製品名
IAR社 Embedded Workbench
コンパイラ
統合開発環境Embedded Workbench
デバッガ
同上
ターゲット
・NXPセミコンダクターズ
IAR社 評価キット
LPC1227 (Cortex-M0)
・株式会社 東芝
TMPM330 (Cortex-M3)
TMPM364 (Cortex-M3)
TMPM380 (Cortex-M3)
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
22
プログラム完成までのステップ
コンフィグレーション設定の記述
コンフィグレーション定数
タスクの記述
ビルド
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
23
□ コンフィグレーション設定の記述
sample.cfg
/* コンフィグレーション定数 */
#define CTIC_NUME
1
#define CMAX_INTNO MAX_INTNO
:
/* 初期化ルーチンの定義 */
ATT_INI({TA_HLNG, 0, inia});
/* 割込みハンドラの定義 */
#define INTNO 15
DEF_INH(INTNO, {TA_HLNG, TR_SYSTEM_TIMER});
/* タスクやオブジェクトの定義 */
#define STKSZ 512
#define TSKA 1
CRE_TSK(TSKA, {TA_HLNG|TA_ACT, 0, tska, 0, STKSZ, NULL});
CRE_SEM(SEMA, {TA_TFIFO, 0x0, 0x5});
CRE_FLG(FLGA, {TA_TFIFO|TA_WSGL|TA_CLR, 0x0});
CRE_CYC(CYCA, {TA_HLNG, 0, cyca, 10, 0});
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
24
□ コンフィグレーション定数
定数名
機能
CTIC_NUME
タイムティックの周期の分子
CMAX_INTNO
割込み番号の最大値
CMAX_EXCNO
CPU例外要因の最大値
CLOG_CNT
ログバッファに格納できるログ個数
CLOG_BUF
ログバッファ領域の先頭番地
CINT_STKSZ
割込みスタックのサイズ
CINT_STK
割込みスタックの先頭番地
CRSTR_STKSZ
制約タスクのスタックサイズ
CSYS_DWN
システムダウン時に実行する関数のアドレス
CINT_UDF
未定義割込み発生時に実行する関数のアドレス
CEXC_UDF
未定義CPU例外発生時に実行する関数のアドレス
CERR_DWN
静的エラー発生時にシステムダウンさせるかどうかを示すフラグ
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
25
□ タスクの記述
sample.c
#include <itron.h>
void
cyca(VP_INT exinf){
:
}
void
tska(VP_INT exinf){
:
ext_tsk();
}
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
26
□ ビルド
ターゲットへの実行ファイルのダウンロード
アプリの動作確認
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
27
性能値
性能データ
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
28
□ 性能データ
■ 測定条件
■ サイズ
コンパイラ
IAR C Compiler Ver.6.40
タスク
5個 (制約タスク3個)
セマフォ
1個
イベントフラグ
1個
周期ハンドラ
1個
システムコール
wup_tsk、slp_tsk、wai_sem、sig_sem、wai_flg、
set_flg、sta_cyc、stp_cyc
プロセッサ
Cortex-M0
Cortex-M3
ROM
2.89 K バイト
3.03 Kバイト
RAM (スタックを含まない)
0.11 K バイト
0.11 Kバイト
※ システムが消費するメモリサイズ。
■ 速度
プロセッサ
Cortex-M0 (36MHz)
Cortex-M3 (40MHz)
割り込み起動時間
0.8 us
0.7 us
割り込み終了時間
0.8 us
0.8 us
ディスパッチ処理時間
4.8 us
3.9 us
※ 条件により性能値は異なります。
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
29
UDEOS の実績とその他製品の紹介
R
採用実績
IPソリューション
エンベデッド製品
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
30
□ 採用実績
•
•
•
•
•
•
•
•
•
•
カーナビ
プリンタ
デジカメ
TV
衛星
ゲーム
POS端末
携帯端末
固定電話/FAX
音楽プレーヤー
etc.
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
31
□ IPソリューション
ボードからアプリケーションにいたるまで、弊社で一貫した対応が可能です。
組込み用 アプリケーション
ライセンス
開発環境ツール
ミドルウェア
ミドルウェア・OS
ライセンス
GNU、GHS、Microsoft
PlatformBuilder、
IAR、KEIL、
リファレンスボード
Java、TCP/IP、PPP、POP3、DNS、
SMTP、SNMP、MIME、PCMCIA、
DOS F/S、USB HOST、
SmartMedia、FlashMemory、
組み込み用OS
WirelessLAN
μITRON、Windows CE、Linux、T-Kernel、VxWorks
リファレンスボード
MPU
サービス
受託・コンサルテーション
ポーティング
応用アプリ開発。開発環境アドバイス。要求性能分析、最適RTOSの組
み合わせ提案。
テクニカルサポート
導入教育/インストール
弊社ご購入開発環境ツールインストール。導入教育の実施。
東芝情報システム
ボードに合わせたRTOS/BSP/ミドルウェア/ドライバ/ライブラリィのポーティング
- UDEOS 4/Lite のご紹介 -
R
高品質のテクニカルサポートの提供
32
□ エンベデッド製品
アプリケーション
Java
ツール
開発ツール
組込み用 Virtual Machine
リアルタイムシミュレータ
M-RADSHIPSⓇ
Audio/Video Player
DiVAPlayerⓇ
モデルIPライブラリ
電池モデル、BMSモデル、
ステッピングモータモデル、インバータ/モータモデル
Multi
Media
ミドルウェア/ドライバ
セキュリティ
ネットワーク
組込み用 IPsec
Ⓡ IPsec
NetNucleus
Ⓡ
不具合管理システム
PRISMYⓇ
OSSライセンス管理
Black DuckⓇ Suite
ストレージ
USB
TCP/IP ライブラリ
NetNucleus
USBホスト・ファンクションドライバ
MatrixQuestUSB host/lite/func
DOSファイルシステム
FilDos Ⓡ EX
無線LAN セキュリティ
NetNucleus Ⓡ WPA
Miracast (Wi-Fi Display)
NetNucleus Ⓡ WFD
PictBridge対応
MatrixQuestDPS
標準SDホストコントローラ
メモリドライバ
ネットワークセットアップツール
NetNucleus Ⓡ WPS
MirrorLinkプロトコルミドルウェア
Ze-PROⓇ Mirror(Client)
MTPプロトコルスタック
MatrixQuestMTP
NAND型フラッシュメモリ
ライブラリ
セキュリティ ライブラリ
RSA BSAFEⓇ
ONVIF対応プロトコル ミドルウェア
Ze-PROⓇ IPcam/IPmon/IPrec(Server)
RTPプロトコル ミドルウェア
Ze-PROⓇ RTP
ECHONET Liteスタック
OS
開発支援ツール
WebSphere Everyplace Custom Environment
μITRON 3.0/4.0 UDEOS
コンテンツ保護
SDメモリカードコンテンツ保護
SD-Video規格
HD画質対応コンテンツ保護
SeeQVault規格
Ⓡ
エンベデッド製品紹介 URL http://www.tjsys.co.jp/solution/embedded/product/index.html
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
33
ご清聴ありがとうございました。
<弊社連絡先>
エンベデッドシステム事業部
TEL:044-246-8320
E-mail: [email protected]
この文章の情報は予告なしに変更することがあります。
記載されている会社名、製品名は各社の登録商標ならび商標です。
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
34
『人』は『情報』を上手に活用することで、
豊かな社会や生活を築くことができます。
当社はシステムでその実現のお手伝いをしています。
『人』と『情報』が新しい価値を生み出すよう、
それらを大切に育み『未来』に繋げてゆくこと、
これが当社の使命です。
東芝情報システム
- UDEOSCopyright
4/Lite
のご紹介
-
2014,
TOSHIBA INFORMATION
SYSTEMS(JAPAN)CORPORATION
R
35
東芝情報システム
- UDEOS 4/Lite のご紹介 -
R
36