TOPPERS/ASP3カーネル 変更履歴 対応バージョン: Release 3.1.0 最終更新: 2016年5月15日 このドキュメントは,TOPPERS/ASP3カーネルの変更履歴を,新しい方から順に 記述したものである.また,TOPPERS/ASPカーネル Release 1.9.1との主な違い についても記載している. ---------------------------------------------------------------------- TOPPERS/ASP Kernel Toyohashi Open Platform for Embedded Real-Time Systems/ Advanced Standard Profile Kernel Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory Graduate School of Information Science, Nagoya Univ., JAPAN 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 権表示,この利用条件および下記の無保証規定が,そのままの形でソー スコード中に含まれていること. (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 の無保証規定を掲載すること. (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 用できない形で再配布する場合には,次のいずれかの条件を満たすこ と. (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 作権表示,この利用条件および下記の無保証規定を掲載すること. (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 報告すること. (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 免責すること. 本ソフトウェアは,無保証で提供されているものである.上記著作権者お よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ の責任を負わない. $Id: version.txt 752 2016-05-14 15:06:22Z ertl-hiro $ ---------------------------------------------------------------------- TOPPERS/ASP3カーネル Release 3.0.1 から 3.1.0 への主な変更点 ○変更点のリスト ・静的APIのパラメータの省略 - CRE_TSKのstk,CRE_DTQのdtqmb,CRE_PDQのpdqmb,CRE_MBFのmbfmb, CRE_MPFのmpfとmpfmb,DEF_ICSのistkの記述を省略可能にした. ・コンフィギュレータの仕様変更に対応 - StrValクラスをNumStrクラスに置き換えたことに対応. - シンボル取得シンボルテーブルでbool型をサポートしたのを活用するよ うに変更. - シンボル取得シンボルテーブルにより取得した値を,StrValクラスのオ ブジェクトにしてグローバル変数に設定していたのを,値のままで設定 するように変更したのに対応. - 一般定数式パラメータの値を,(StrValクラスではなく)Stringクラス のオブジェクトで保持するように変更したのに対応. ・動的生成機能拡張パッケージの修正 - acre_yyyで,パケットの内容をローカル変数にコピーするように修正. - DEF_KMMのkmmパラメータを省略可能に. ・バグフィックス - コンフィギュレータのパス3で,オブジェクトのID番号の割付けを外部か ら取り込んでいる場合に対応. - test_dlynse.cを,TCYC_HRTCNTが定義されている場合に対応. - bit_kernel.cのを,p_schedtskとdspflgの整合性を検査するように修正. - 静的APIのパラメータ末に改行がある場合の不具合を修正. ・ARMコア依存部の修正 - GR-PEACH向けのターゲット依存部と,RZ/Aシリーズのチップ向けのコア 依存部を追加. - スタックポインタを8バイト境界でアラインさせるように修正. - sil_dly_nseを,分岐予測がある場合に対応できるように修正. - ベクタテーブルを置くセクション名を".vector"に変更.32バイト境界で アラインさせるように修正. ・テストプログラムの修正 - 時間パラメータを,TEST_TIME_CPとTEST_TIME_PROCを用いて記述. - test_dlynse.cを,TCYC_HRTCNTを参照するように修正. ・サンプルプログラムの修正 - 割込みの動作確認を行えるように修正(ターゲット依存). ・その他の修正 - kernel_impl.hからCASTマクロの定義を削除. - コンフィギュレータのパス3で,最適化により変数がなくなるケースに対 応. - 符号無しのパラメータのエラーチェックを,0以下でチェックするのでは なく,0との一致でチェックするように修正. - 生成スクリプトの記述スタイルの修正. - テストがエラーになった時に'\007'を出力するように修正. - libkernel.aのリンク方法を変更(HRP3の都合). - gentest.rbの改善. ・ドキュメントの充実,コメントの修正 ・バージョン番号の更新 - カーネルのバージョン番号を更新. ○ターゲット依存部の要修正箇所(3.0.1 → 3.1.0) (1) コンフィギュレータの仕様変更に対応 - StrValクラスをNumStrクラスに置き換えたことに対応する. - シンボル取得シンボルテーブルでbool型をサポートしたことに伴い, bool型で取得するように変更したシンボルについて,生成スクリプト内 で参照している箇所を修正する.例えば,「$SYMBOL == 1」により定義 の有無をチェックしている場合には,単に「$SYMBOL」に変更する. - シンボル取得シンボルテーブルにより取得した値を,StrValクラスのオ ブジェクトにしてグローバル変数に設定していたのを,値のままで設定 するように変更したのに対応する. - 一般定数式パラメータの値を,(StrValクラスではなく)Stringクラス のオブジェクトで保持するように変更したのに対応する. - $bLittleEndianを参照していれば,$endianLittleに変更する. (2) CASTマクロの定義方法の変更への対応 - CASTマクロを使用しているヘッダファイルの先頭に,CASTマクロの定義 を含める. (3) テストプログラムの時間パラメータの変更への対応 - 必要であれば,target_test.hに,TEST_TIME_CPとTEST_TIME_PROCの定義 を含める(TEST_TIME_CPのデフォルトは,長めの時間になっている). (4) init_tskinictxb関数のパラメータの変更への対応 - ターゲット依存部でTSKINICTXBを定義しており,動的生成機能拡張パッ ケージをサポートする場合には,init_tskinictxb関数のパラメータの変 更に対応する. (5)[ARM依存部]コア共通部の修正への対応 - irc_begin_int/excからirc_end_int/excに情報を渡す方法を変更する(1 ワードであれば,スタックの先頭を使うことができる).また,スタッ クポインタを8バイト境界でアラインさせるように修正する. - ベクタテーブルを置くセクション名を".vector"に変更したのに対応する. - sil_dly_nseのパラメータを再調整する. ---------------------------------------------------------------------- TOPPERS/ASP3カーネル Release 3.0.0 から 3.0.1 への主な変更点 ○変更点のリスト ・コンフィギュレータの修正 - BCOPYの不具合を修正(SRecordクラスの実装を改良). - エラーメッセージの修正. - DOMAIN記述とCLASS記述を受け付けるように修正(ASP3カーネルには関係 なし). - エラーメッセージの展開機能を活用した記述に修正. ・TECS関連の修正 - 変数名の修正(dataqueueSentValue). - tTimeEventHandlerのアダプタ関数を,プラグインで生成するようにした ことに対応.tTimeEventHandler.cを削除. ・バグフィックス - kernel_check.trbのLMAからVMAへのコピーの不具合の修正. - コンフィギュレータのエラー出力コードの不具合の修正. - コンフィギュレータが出力するエラーコードの誤りの修正. ・その他の修正 - GetStackTskinictxbの第3パラメータに,タスク初期化ブロックの先頭番 地を渡すように修正. ・バージョン番号の更新 - カーネルのバージョン番号を更新. ○ターゲット依存部の要修正箇所(3.0.0 → 3.0.1) (1) GetStackTskinictxbの修正 - ターゲット依存部でGetStackTskinictxbを定義していれば,第3パラメー タを受け取るように修正する. ---------------------------------------------------------------------- TOPPERS/ASP3カーネル Release 3.B.0 から 3.0.0 への主な変更点 ○変更点のリスト ・TECSの導入 - システムサービスを,TECSを用いて構築. - システムログ機能でログの出力先の初期値を組み上げ記述で指定できる ようにし,デフォルトの設定値を変更.ログタスクの起動時に設定する のをやめる. - トレースログ記録のサンプルコードのTECS化に伴い,ディレクトリを arch/tracelogに変更. ・Ruby版コンフィギュレータの導入 - すべてのテンプレートファイルを,Rubyで記述された生成スクリプトに 置き換えた. - kernel_api.csvをkernel_api.defにリネームし,フォーマットを変更. - kernel_def.csvをkernel_sym.defにリネームし,フォーマットを変更. - Makefileの変更(依存関係やルールの整理も実施). - サンプルプログラムおよびテストプログラムのシステムコンフィギュレー ションファイルから,kernel_timer.cfgのインクルードを削除(Makefile 側で対応した). - --external-idを廃止.コンパイルオプションで同じことができるように 修正. ・変数のインクリメントによるイベント/エラー通知の追加 ・lock_cpu_dsp/unlock_cpu_dspの導入 - タスクディスパッチできる状態において,CPUロック状態に遷移/復帰さ せる関数として,lock_cpu_dsp/unlock_cpu_dspを導入した. ・非タスクコンテキストからのディスパッチ要求 - 非タスクコンテキストにおいてタスク切換えが必要になった場合に, request_dispatchを呼ぶように修正した(ARM Cortex-M対応). ・タイムイベント管理の改良(HRP3カーネルとの整合性のため) - タイムイベントヒープ中での位置の表現を,インデックスからポインタ に変更. - タイムイベントの発生時刻を,タイムイベントブロック中に持つように 変更. ・バグフィックス - 通知ハンドラのための変数にstaticを付けるのをやめる. ・テストプログラムの追加 - イベントフラグ機能のテスト(1)(flg1)を追加. - データキュー機能のテスト(1)(dtq1)を追加. - カーネル性能評価プログラム(5)(perf5)を追加. ・kernel_cfg.h,offset.hへの依存関係の修正 - move-if-changeを用いて,不必要な再コンパイルが行われないように, Makefileと各テンプレートファイルを修正. - utils/move-if-changeを追加. ・Makefileの修正 - 依存関係ファイルを,GCCの-MDオプションを用いて生成するように修正. - APPLDIR,APPL_DIR,SYSSVC_DIR,KERNEL_DIRを,それぞれ,…DIRS(複 数形)にリネーム. - DEVTOOLDIRの新設. - SYSSVC_LIBSの廃止. - DBGENVの廃止. - 不要になった変数等の削除. ・ユーティリティのRuby化 - コンフィギュレーションスクリプト(configure)と4つのユーティリティ プログラムを,PerlからRubyにポーティング. ・コンフィギュレーションスクリプト(configure.rb)の大幅な仕様変更 - サンプルプログラムを生成する処理を削除. - パラメータからシンボル定義を取り込む機能を追加. - -uオプションを廃止(-aオプションに統合). - -tオプションと-dオプションの役割を変更. - -cオプション,-Cオプション,-wオプション,-Vオプション,-Gオプショ ンを追加. - -pオプション,-Pオプションを廃止. - コンフィギュレータが用意できているかのチェックを削除. ・その他の修正 - OVRTIM型をPRCTIM型にリネーム. - コンフィギュレータのエラーメッセージの修正. - bit_kernel.c,bit_mutex.cを見直し(ASP3対応を考慮.タスク優先度拡 張パッケージに対応). - test_raster1を,bit_kernelを使用するように修正. - 性能評価プログラムで実行時間分布を表示する際に,システムログ機能 のフラッシュを呼ぶのをやめる(低レベル出力を使うので不要). - テストプログラム用サービスの関数定義方法を変更. - オーバランハンドラ拡張パッケージのテストプログラムの修正. - トレースログ機能のログ時刻を取り出すマクロ名を変更. - トレースログ機能のモードの扱いの見直し. - TOPPERS_LABEL_ASMの廃止. ・ドキュメントの充実,コメントの修正 - マイグレーションガイド(migration.txt)を追加. ・バージョン番号の更新 - カーネルのバージョン番号を更新. ○ターゲット依存部の要修正箇所(3.B.0 → 3.0.0) (1) TECSの導入への対応 - ポーティングガイドの8章を参照し,システムサービスのターゲット依 存部の実装を全面的に見直す(システムログの低レベル出力のための文 字出力関数がカーネル実装のターゲット依存モジュールに記述されてい た場合,削除するのを忘れないようにすること). - ポーティングガイドの6.11節を参照し,トレースログ記録のサンプルコー ドに関する設定を見直す. (2) Ruby版コンフィギュレータの導入への対応 - ターゲット依存部のテンプレートファイル(tfファイル)を,Rubyで記 述された生成スクリプトに置き換える(trbファイル).その際に, target.tfに対応するファイルの名前は,target_kernel.trbとする. - target_def.csvをtarget_sym.defにリネームし,フォーマットを変更す る. - target_kernel.cfgを作成する(ASP3カーネルでは,target_timer.cfgを インクルードするだけの内容になる). - Makefileのターゲット依存部の--cfg1-def-tableオプションを, --symval-tableオプションに変更する(指定するファイルも変更). - Makefileのターゲット依存部で,OFFSET_TF,TARGET_TF, TERGET_CHECK_TFを設定している記述があれば,それぞれ,OFFSET_TRB, TARGET_KERNEL_TRB,TARGET_CHECK_TRBに変更する(指定するファイルも 変更).また,必要に応じて,TARGET_KERNEL_CFGの設定を追加する. (3) lock_cpu_dsp/unlock_cpu_dspの定義を追加 - lock_cpu_dsp/unlock_cpu_dspの定義を追加する.最適化をしないので あれば,lock_cpu/unlock_cpuに定義すればよい. (4) request_dispatchの定義を追加 - request_dispatchの定義を追加する.標準通りの実装の場合は,空に定 義すればよい. (5) OVRTIM型をPRCTIM型にリネーム - ターゲット依存部でOVRTIM型を使っている箇所があれば,PRCTIM型に修 正する. (6) Makefileのターゲット依存部の修正 - APPL_DIR,SYSSVC_DIR,KERNEL_DIRを設定している記述があれば,それ ぞれ,APPL_DIRS,SYSSVC_DIRS,KERNEL_DIRSにリネームする. - SYSSVC_LIBSを使用していれば,LIBSを使用するように修正する. - 依存関係を作成するルールを削除する. (7) 開発環境依存のコンパイルオプション - Makefileのターゲット依存部で,DBGENVを設定している記述があれば, COPTSを用いた設定に変更する. (8) TOPPERS_LABEL_ASMの廃止への対応 - アセンブリ言語レベルの識別名が,C言語レベルの識別名の先頭に"_"が 付いたものになる場合,アセンブリ言語で定義/参照する関数や変数な どについて,ターゲット依存部のリネーム記述にリストアップする. ---------------------------------------------------------------------- TOPPERS/ASP3カーネル Release 3.A.0 から 3.B.0 への主な変更点 ○変更点のリスト ・周期ハンドラ機能とアラームハンドラ機能を,周期通知機能とアラーム通知  機能に拡張 ・有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優先  度をターゲット依存部で定義する方法の変更 ・delay_for_interruptの導入 - 一時的にCPUロック状態を解除する時に,割込みが受け付けられるように するための関数として,delay_for_interruptを呼び出すようにした. ・テストプログラム用ライブラリの修正 - テストプログラム用サービスの位置付けとし,ファイル名とディレクト リを変更. - test_finishはサービスの内部関数とし,外部からはcheck_finish(0U)を 呼ぶように変更(保護機能対応カーネルを考慮した修正). - check_stateから,check_ipmを分離.check_state_iを廃止. - syslog_flushを,syslog_fls_logとリネームし,システムログ機能のサー ビスコールと位置付けることに. ・実行時間分布集計モジュールの修正 - 実行時間分布集計サービスの位置付けとし,ディレクトリを変更. - print_histで,ログ情報の出力関数をパラメータとして渡すように変更. ・テストプログラムの追加 - 通知処理のテスト(1)(test_notify1)を追加. - ドリフト調整機能拡張パッケージにドリフト調整機能のテスト(1) (test_drift1)を追加. ・その他のバグフィックス - トレースログ記録のサンプルコードの修正(SYSLOG型の変更への追従漏れ). - test_cpuexc10.cのチェック値の誤りの修正. - makereleaseのエラーチェックコードの修正. ・その他の修正 - LOG_DSP_ENTERの呼出し箇所を変更した(ポーティングガイド). - USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法を変更した. - CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換えた. - kernel_chk.tfのリファクタリング. - ヘッダファイルが自己完結するように修正. - インクルード記述の方法を変更. - syslog_ref_logの出口のログ出力マクロ(LOG_SYSLOG_REF_LOG_LEAVE) のパラメータにエラーコードを追加. - MakefileにおけるLDFLAGSの意味を変更. - trace_config.cfgを追加. ・ドキュメントの充実,コメントの修正 ・バージョン番号の更新 - カーネルのバージョン番号を更新. ○ターゲット依存部の要修正箇所(3.A.0 → 3.B.0) (1) CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの追加 - 必要であれば,CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの定義を追 加する. (2) 有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優 先度の定義方法の変更 - VALID_INTNOを用意する(必要ない場合もある). - VALID_INTNO_DISINT/VALID_INTNO_CREISRの定義がVALID_INTNOと一致し ていれば,定義を削除する. - VALID_INTNO_CFGINTをVALID_INTNOに,INTNO_CFGINT_VALIDをINTNO_VALIDに, それぞれ置き換える. - VALID_INHNO_DEFINHをVALID_INHNOに,INHNO_DEFINH_VALIDをINHNO_VALIDに, それぞれ置き換える. - VALID_EXCNO_DEFEXCをVALID_EXCNOに,EXCNO_DEFEXC_VALIDをEXCNO_VALIDに, それぞれ置き換える. - INTNO_CREISR_VALID/INHNO_CREISR_VALIDの定義が,それぞれINTNO_VALID/ INHNO_VALIDと一致していれば,定義を削除する. - INTPRI_CFGINT_VALIDの定義が標準通りでよい場合には,定義を削除する. (3) MakefileにおけるLDFLAGSの意味の変更 - これまで,LDFLAGSはカーネルのリンク時にのみ適用され,cfg1_out.cの リンク時には適用されなかったが,その両方に適用されるようになった. そのため,両者のリンク時に必要なオプションは,LDFLAGSに追加すれば, CFG1_OUT_LDFLAGSには追加しなくてよくなった.一方,カーネルのリン ク時のみに適用したいオプションは,OBJ_LDFLAGSに追加する. (4) delay_for_interruptの追加 - delay_for_interruptの実装を追加する. (5) USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法の変更 - コンフィギュレータのパス2のテンプレートファイルのターゲット依存部 で,USE_INHINIB_TABLE/USE_INTINIB_TABLEを設定していた場合には, カーネルのターゲット依存部でのマクロ定義に変更する.また,ターゲッ ト依存部で定義していたINHINIB/INTINIBを,必要に応じて削除する. (6) CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換え - PREPARE_RETURN_CPUEXCの定義を追加する.CANNOT_RETURN_CPUEXCが定義 されていた場合には,PREPARE_RETURN_CPUEXCを定義しない. (7) LOG_DSP_ENTERの呼出し箇所を変更に対応 - ポーティングガイドにおいて,LOG_DSP_ENTERの呼出し箇所を変更し, dispatcher_0のラベルを設けたのに対応する(本質的には同じことなの で,コードを修正しなくても問題ない). (8) インクルード記述の方法の変更に対応 - 開発環境/プロセッサコア/チップ依存部ディレクトリに置かれている ヘッダファイルのインクルード方法を変更する.詳しくは,「ターゲッ ト依存部 ポーティングガイド」の「1.4 インクルード記述の方法」の節 を参照すること. ---------------------------------------------------------------------- TOPPERS/ASP3カーネル Release 1.9.1 から 3.A.0 への主な変更点 ○主な変更点のリスト ※ 以下の変更点のリストは,主なもののみをリストアップしたものであり,網 羅的なリストではない. ・機能の追加/廃止 - ミューテックス機能を標準パッケージに追加(一部機能制限あり). - タスク例外処理機能を廃止し,タスク終了要求機能を追加. - メールボックス機能を廃止. - システム時刻の調整機能と設定機能を追加. - 起動要求をキューイングしないタスクを追加. - タスクとスケジューリング状態の参照機能を追加. ・拡張パッケージの追加/廃止 - ドリフト調整機能拡張パッケージを追加. - サブ優先度機能拡張パッケージを追加. - ミューテックス機能拡張パッケージを廃止(標準パッケージに). ・仕様の変更 - SIZE型をsize_t型に変更. - システム時刻,相対時間,タイムアウト時間の時間単位を,マイクロ秒 に変更.システム時刻のサイズを64ビットに変更.相対時間とタイムア ウト時間のサイズを32ビットと規定.タイムアウト時間を符号無し整数 型に変更. - サービスコール名が"i"で始まる非タスクコンテキスト専用のサービスコー ルを廃止し,非タスクコンテキストからもタスクコンテキストと同じ名 称のサービスコールを呼び出せるように. - ena_intとena_intを,非タスクコンテキストから呼び出せるように. - ATT_ISRを廃止して,CRE_ISRを追加. - get_utmを廃止して,fch_hrtを追加. - 割込みサービスルーチンとタイムイベントハンドラの実行開始/リター ン時の割込み優先度マスクの扱いを変更. ・タイムイベント処理のティックレス化 - タイムイベント処理モジュールを全面的に修正. ・スケジューラの実装の変更 - アイドル処理の実装方法を変更(主にターゲット依存部). - reqflgとipmflgを廃止.disdspをenadspに変更. - スケジューラの関数が,ディスパッチの要否を返すのをやめた. - p_schedtskの意味を,最高優先順位のタスクから,実行すべきタスクに 変更(ディスパッチ保留状態での扱いが異なる). ・その他の実装の変更 - kernel.tfを,機能モジュール毎に分割. - 静的エラーのチェック方法(CHECKマクロの構成)を変更. - サービスコールの出口ログマクロのパラメータを変更. - lock_cpu/unlock_cpu/sense_lockを,タスクコンテキスト用と非タス クコンテキスト用で別々に用意するのをやめた. - TCB中での待ち状態の表現方法を変更. - WINFO_FLG中のwaiptnとflgptnを共用(flgptnを廃止). - WINFO_SDTQ/SPDQとWINFO_RDTQ/RPDQを区別して扱うように修正. ・バージョン番号の更新 - カーネルのバージョン番号を更新. ○ターゲット依存部の主な要修正箇所(1.9.0 → 3.A.0) (1) target_config.[hc]を,target_kernel_impl.[hc]にリネーム (2) オフセットファイルの生成方法の変更 - target_cfg1_out.hに,TCBのデータ定義が含まれている場合には,新し いTCBの構造に合わせて修正する. - オフセットファイル(offset.h)を,makeoffset.cとgenoffsetを用いて 生成している場合には,コンフィギュレータを用いる方法に変更する. (3) メモリ領域をサイズを表すデータ型の変更 - t_stddef.hに,size_t型の定義が含まれるようにする. - TOPPERS_sizeの定義を削除する. - SIZE型を使っているところを,size_t型に変更する. (4) コンテキスト依存で呼び出す関数の変更 - x_lock_cpu/x_unlock_cpu/x_sense_lock/x_disable_int/x_enable_int/ x_clear_int/x_probe_intを,"x_"を外した名前に変更する.これらの 関数に対応する"t_"または"i_"で始まる関数は削除する. - x_define_inh/x_config_int/x_define_excを使用している場合には, これらを,"x_"を外した名前に変更する. - x_set_ipm/i_set_ipm/x_get_ipm/i_get_ipmを削除する("t_"で始ま る関数は残す). - i_begin_intとi_end_intを削除する. (5) ディスパッチャ本体の変更 - dispatcher中のアイドル処理の実装を変更する. - log_dsp_enterを呼ぶ処理を,ディスパッチャ本体から,それを呼ぶ処理 の側(dispatch,exit_and_dispatch,割込みの出入口処理,CPU例外の 出入口処理)に移動する. (6) ディスパッチャの動作開始処理の変更 - start_dispatchに,スタックをIDが1のタスクのスタック領域に切り換え る処理を追加する. (7) 割込みハンドラ/CPU例外ハンドラの出入口処理の変更 - reqflgの廃止に対応する. - タスク切換えの条件判定で,dspflgをチェックする必要がなくなったこ とに対応する. - アイドル処理の実装変更により,ret_int/ret_excからのタスク切換え において,p_runtskがNULLとなっている状況を考える必要が生じたこと に対応する. (8) テンプレートファイル変数の変更 - INTNO_ATTISR_VALIDとINHNO_ATTISR_VALIDを,INTNO_CREISR_VALIDと INHNO_CREISR_VALIDに変更する. (9) 高分解能タイマドライバの実装 - ティックベースのタイマドライバを削除し,高分解能タイマドライバを 実装する. ----------------------------------------------------------------------