Changeset 95 for ssp_qb_r5f100le_cs/trunk/doc/ssp_spec.txt
- Timestamp:
- Jun 2, 2015, 3:39:53 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_qb_r5f100le_cs/trunk/doc/ssp_spec.txt
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 1 1 2 TOPPERS/SSP J[lÌdlTv2 TOPPERS/SSPカーネルの仕様概要 3 3 4 Îo[W: Release1.3.05 ÅIXV: 2014N 3 6ú4 対応バージョン: Release1.3.0 5 最終更新: 2014年 3月 6日 6 6 7 ±ÌhL 8 gÍCTOPPERS/SSPJ[lÌdlTvÉ¢Äྵ½àÌÅ 9 éDTOPPERS/ASPJ[l©çÌ·ª¨æÑÏXÓÆÊITRON4.0dlÌŬ 10 Zbgvt@C©çÌ·ªðSÉྷéD 7 このドキュメントは,TOPPERS/SSPカーネルの仕様概要について説明したもので 8 ある.TOPPERS/ASPカーネルからの差分および変更箇所とμITRON4.0仕様の最小 9 セットプロファイルからの差分を中心に説明する. 11 10 12 11 ---------------------------------------------------------------------- … … 21 20 Nagoya Municipal Industrial Research Institute, JAPAN 22 21 23 ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 24 Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 25 ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 26 (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 27 \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 28 XR[hÉÜÜêÄ¢é±ÆD 29 (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 30 pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 31 gip 32 Ò}j 33 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 34 ̳ÛØKèðfÚ·é±ÆD 35 (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 36 pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 37 ÆD 38 (a) Äzzɺ¤hL 39 gipÒ}j 40 AÈÇjÉCãLÌ 41 ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 42 (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 43 ñ·é±ÆD 44 (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 45 Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 46 ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 47 RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 48 ÆÓ·é±ÆD 22 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 23 ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 24 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 25 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 26 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 27 スコード中に含まれていること. 28 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 29 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 30 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 31 の無保証規定を掲載すること. 32 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 33 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 34 と. 35 (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 36 作権表示,この利用条件および下記の無保証規定を掲載すること. 37 (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 38 報告すること. 39 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 40 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 41 また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 42 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 43 免責すること. 49 44 50 {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨51 æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI52 ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF53 AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»54 ÌÓCðíÈ¢D45 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 46 よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 47 に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 48 アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 49 の責任を負わない. 55 50 56 51 ---------------------------------------------------------------------- 57 52 58 OñÆÈé¶ 53 ○前提となる文書 59 54 60 [1] g¦ï: ÊITRON4.0dl, Ver.4.02.00, 2004N.55 [1] トロン協会: μITRON4.0仕様, Ver.4.02.00, 2004年. 61 56 62 [2] TOPPERS vWFNg: TOPPERSV¢ãJ[ldlRelease 1.5.057 [2] TOPPERSプロジェクト: TOPPERS新世代カーネル仕様書 Release 1.5.0 63 58 64 [3] TOPPERS vWFNg: TOPPERSWÝf, ÅIXV: 2008N65 4 11ú.59 [3] TOPPERSプロジェクト: TOPPERS標準割込み処理モデル, 最終更新: 2008年 60 4月11日. 66 61 67 dlÌTª 62 ○仕様の概略 68 63 69 TOPPERS/SSP J[lÌdlÍCTOPPERS/ASPJ[lÌdlÉεÄC70 ¬KÍAvP[Vü¯ÉdlðiÁ½àÌÅ éDŬZbgÉ 71 ¨¯é"Ŭ"ÆÍCJ[lªgp·éROM/RAMgpÊ𬳷é½ßÉ 72 dlðÅK»·é±ÆðÓ¡·éD 64 TOPPERS/SSPカーネルの仕様は,TOPPERS/ASPカーネルの仕様に対して, 65 小規模アプリケーション向けに仕様を絞ったものである.最小セットに 66 おける"最小"とは,カーネルが使用するROM/RAM使用量を小さくするために 67 仕様を最適化することを意味する. 73 68 74 ñ·é@\ÍÊITRON4.0dlÌÅá@\ðx[XƵÄCê 75 ©®Ô§äpvt@CÌ@\ðæèÞD 69 提供する機能はμITRON4.0仕様準拠の最低機能をベースとして,一部 70 自動車制御用プロファイルの機能を取り込む. 76 71 77 Eñ·éVXeT[rXð§À·é 78 E§ñ^XNÌÝðT|[g·é 79 E1ÂÌ^XNDæxÉεÄo^Å«é^XNÍ1ÂÉÀè·é 80 EROM/RAMgpÊðÈ·é½ßÌÝv/Àðs¤ 72 ・提供するシステムサービスを制限する 73 ・制約タスクのみをサポートする 74 ・1つのタスク優先度に対して登録できるタスクは1つに限定する 75 ・ROM/RAM使用量を少なくするための設計/実装を行う 81 76 82 ³çÉCSSPJ[lÆ©ÌdlƵÄȺÌ@\ð±ü·éD 77 さらに,SSPカーネル独自の仕様として以下の機能を導入する. 83 78 84 E^XNÌÀsDæx 85 E¤LX^bNÌæ 79 ・タスクの実行時優先度 80 ・共有スタック領域 86 81 87 ±Ì½ßCSSPJ[lÍASPJ[l̺ÊÝ·ÅàãÊÝ·ÅàÈ¢D 82 このため,SSPカーネルはASPカーネルの下位互換でも上位互換でもない. 88 83 89 ñ·éVXeT[rXð§À·é 84 ○提供するシステムサービスを制限する 90 85 91 TOPPERS/ASP ªñ·éVXeT[rX̤¿CÊITRON4.0dl92 5.1.2 ßÅKè³ê½VXeT[rXÆCTOPPERSV¢ãJ[l93 dlÅÇÁ³ê½êÌVXeT[rXÌÝðT|[g·éD 86 TOPPERS/ASPが提供するシステムサービスのうち,μITRON4.0仕様書 87 5.1.2節で規定されたシステムサービスと,TOPPERS新世代カーネル 88 仕様で追加された一部のシステムサービスのみをサポートする. 94 89 95 T|[g·éVXeT[rXÍȺÌÊèÅ éD 90 サポートするシステムサービスは以下の通りである. 96 91 97 ECRE_TSK98 EDEF_EPR99 Eact_tsk,iact_tsk100 Eloc_cpu,iloc_cpu101 Eunl_cpu,iunl_cpu102 Esns_ctx103 Esns_loc104 Esns_dsp105 Esns_dpn106 Esns_ker107 Eena_dsp108 Edis_dsp109 EDEF_INH110 EATT_ISR111 ECFG_INT112 Eena_int113 Edis_int114 EATT_INI115 EATT_TER116 Eext_ker117 EDEF_ICS118 EDEF_STK92 ・CRE_TSK 93 ・DEF_EPR 94 ・act_tsk,iact_tsk 95 ・loc_cpu,iloc_cpu 96 ・unl_cpu,iunl_cpu 97 ・sns_ctx 98 ・sns_loc 99 ・sns_dsp 100 ・sns_dpn 101 ・sns_ker 102 ・ena_dsp 103 ・dis_dsp 104 ・DEF_INH 105 ・ATT_ISR 106 ・CFG_INT 107 ・ena_int 108 ・dis_int 109 ・ATT_INI 110 ・ATT_TER 111 ・ext_ker 112 ・DEF_ICS 113 ・DEF_STK 119 114 120 ½¾µCg£pbP[WðKp·é±ÆÅ@\ðÇÁ·é±ÆªÅ«éD 115 ただし,拡張パッケージを適用することで機能を追加することができる. 121 116 122 §ñ^XNÌÝðT|[g·é 117 ○制約タスクのみをサポートする 123 118 124 ^XNÔÌX^bN¤LðOñÆ·é½ßC©®Ô§äpvt@CÉ 125 Kè³êÄ¢é§ñ^XNð±üµCÊíÌ^XNÍp~·éD±êÍC 126 L`ÌÒ¿óÔðT|[gµÈ¢±ÆðÓ¡·éD 119 タスク間のスタック共有を前提とするため,自動車制御用プロファイルに 120 規定されている制約タスクを導入し,通常のタスクは廃止する.これは, 121 広義の待ち状態をサポートしないことを意味する. 127 122 128 1ÂÌ^XNDæxÉεÄo^Å«é^XNÍ1ÂÉÀè·é 123 ○1つのタスク優先度に対して登録できるタスクは1つに限定する 129 124 130 1ÂÌ^XNDæxÉεÄo^Å«é^XNÍêÂÆ·éD^XNDæxÍ 131 16Å é½ßCÅåÅo^Å«é^XNÍ16Å éD±Ì§ÀÍfBL 132 [ 133 ðsvƵCXPW 134 [ÌȪ»ÆRAMgpÊÌí¸ð}é½ßÅ éD 125 1つのタスク優先度に対して登録できるタスクは一つとする.タスク優先度は 126 16であるため,最大で登録できるタスク数は16である.この制限はレディキュー 127 を不要とし,スケジューラの簡略化とRAM使用量の削減を図るためである. 135 128 136 ROM/RAMgpÊðÈ·é½ßÌÝv/Àðs¤ 129 ○ROM/RAM使用量を少なくするための設計/実装を行う 137 130 138 È¢ROM/RAMŮ쳹é½ßÉTCYðDæµ½Ýv/Àð 139 s¤DÝvÅÍf[^\¢Ìzñ»ðåƵ½ÅK»CÀÅÍ 140 æèÚA«ð¹ÈíÈ¢ÍÍÅ̬³¢f[^^ÌgpâÂÇ«ð 141 µáº³¹È¢ÍÍÅÌR[h` 142 [jOðs¤DܽC 143 RpCÉæéÅK»àp·é(½¾µRpCÅÌÅK»Í 144 «Éæé·Ùªå«¢½ßC^[Qbg˶Šé)D 131 少ないROM/RAMで動作させるためにサイズを優先した設計/実装を 132 行う.設計ではデータ構造の配列化を主とした最適化,実装では 133 より移植性を損なわない範囲での小さいデータ型の使用や可読性を 134 著しく低下させない範囲でのコードチューニングを行う.また, 135 コンパイラによる最適化も活用する(ただしコンパイラでの最適化は 136 環境による差異が大きいため,ターゲット依存である). 145 137 146 ^XNÌÀsDæx 138 ○タスクの実行時優先度 147 139 148 ÀsDæxÍ^XNªN®³ê½ãCÅÉÀsóÔÉÈé 149 É^XNÌx[XDæxªÉÝè³êé^XNDæxÅ éDÀs 150 DæxÌ@\ÍCN®Dæxæèà¢DæxÅ^XNðÀs·é±ÆÅC 151 ¯úɤLX^bNÌæðgpµÄ¢éóÔÉÈé^XNÌgÝí¹ðÀ 152 èµCX^bNÌæðßñ·é½ßÌ@\Å éD 140 実行時優先度はタスクが起動された後,最初に実行状態になる 141 時にタスクのベース優先度がに設定されるタスク優先度である.実行時 142 優先度の機能は,起動時優先度よりも高い優先度でタスクを実行することで, 143 同時期に共有スタック領域を使用している状態になるタスクの組み合わせを限 144 定し,スタック領域を節約するための機能である. 153 145 154 ¤LX^bNÌæ 146 ○共有スタック領域 155 147 156 SSP J[lÅÍSÄÌ^XNÆÝnhÅA±µ½X^bNÌæðgp·éD157 ±êð¤LX^bNÌæÆÄÔD¤LX^bNÌæð±ü·é±ÆÅ^XNÌ 158 ÀsDæxÉæé^XNX^bNÌæðßñ·é±ÆªÅ«éD 148 SSPカーネルでは全てのタスクと割込みハンドラで連続したスタック領域を使用する. 149 これを共有スタック領域と呼ぶ.共有スタック領域を導入することでタスクの 150 実行時優先度によるタスクスタック領域を節約することができる. 159 151 160 pӵĢég£pbP[W 152 ○用意している拡張パッケージ 161 153 162 ÔÇg£pbP[WƯúEÊM@\g£pbP[WðpӵĢéD 154 時間管理拡張パッケージと同期・通信機能拡張パッケージを用意している. 163 155 164 ÔÇg£pbP[WÉÍȺÌ@\ªÜÜêéD 156 時間管理拡張パッケージには以下の機能が含まれる. 165 157 166 Eüúnh@\ 167 EA[nh@\ 168 EVXeÇ@\ 158 ・周期ハンドラ機能 159 ・アラームハンドラ機能 160 ・システム時刻管理機能 169 161 170 ¯úEÊM@\g£pbP[WÉÍȺÌ@\ªÜÜêéD 162 同期・通信機能拡張パッケージには以下の機能が含まれる. 171 163 172 Ef[^L 173 [@\ 174 ECxgtO@\ 164 ・データキュー機能 165 ・イベントフラグ機能 175 166 176 Èã 167 以上 -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.