OSDN Git Service

マルチプロジェクト型にレポジトリを変更するために移動した
[toppersasp4lpc/asp.git] / asp / doc / version.txt
1
2                 TOPPERS/ASPカーネル
3                 変更履歴
4
5                 対応バージョン: Release 1.6.0
6                 最終更新: 2010年7月25日
7
8 このドキュメントは,TOPPERS/ASPカーネルのRelease 1.0.0以降の変更履歴を,
9 新しい方から順に記述したものである.
10
11 ----------------------------------------------------------------------
12  TOPPERS/ASP Kernel
13      Toyohashi Open Platform for Embedded Real-Time Systems/
14      Advanced Standard Profile Kernel
15
16  Copyright (C) 2005-2010 by Embedded and Real-Time Systems Laboratory
17              Graduate School of Information Science, Nagoya Univ., JAPAN
18  
19  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
20  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
21  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
22  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24      スコード中に含まれていること.
25  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
27      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
28      の無保証規定を掲載すること.
29  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
31      と.
32    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
33        作権表示,この利用条件および下記の無保証規定を掲載すること.
34    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
35        報告すること.
36  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
37      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
38      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
39      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
40      免責すること.
41  
42  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
43  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
44  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
45  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
46  の責任を負わない.
47  
48  $Id: version.txt 1871 2010-07-27 04:24:46Z ertl-hiro $
49 ----------------------------------------------------------------------
50
51                 TOPPERS/ASPカーネル
52                 Release 1.5.0 から 1.6.0 への変更点
53
54 ○変更点のリスト
55
56 ・cfgの新しいバージョン(1.6)に対応
57         - offsetof_TINIB_stkszとoffsetof_TINIB_stkの取得記述をターゲット非
58           依存部に移動.
59
60 ・ユーティリティの修正
61         - genoffsetに,エンディアン指定をチェックする機能を追加.その際に,
62           コードを整理.
63
64 ・その他の修正
65         - TCBのpriorityフィールドを,条件があえばuint_8で定義するように修正.
66         - ターゲット依存部でSIL_ENDIAN_BIGもSIL_ENDIAN_LITTLEも定義されてい
67           ない場合に,sil.hでエラーを検出するように修正.
68         - システムログ機能のsysog_logmaskとsyslog_lowmask_notの初期値を修正.
69         - makereleaseを,ファイルの重複をチェックするように修正.
70         - test_utm1のエラーメッセージを修正.
71
72 ・ドキュメントの充実,コメントの修正
73
74 ・バージョン番号の更新
75         - カーネルのバージョン番号を更新.
76
77 ○ターゲット依存部の要修正箇所(1.5.0 → 1.6.0)
78
79 (1) makeoffset.cの修正
80         - makeoffset.cに,sil_endian関数を追加する(これにより,genoffsetの
81           エンディアン指定をチェックする機能が有効になる).
82         - オーバランハンドラ拡張パッケージに対応する場合には,leftotmフィー
83           ルドが含まれているかを確認する.
84         - 生成されるoffset.hに変化がないことを確認する.
85
86 (2) 値取得シンボルテーブルのターゲット依存部の修正
87         - 以下の2行をtarget_def.csv(またはそれに代わるファイル)から削除する.
88                 offsetof_TINIB_stksz,"offsetof(TINIB,stksz)"
89                 offsetof_TINIB_stk,"offsetof(TINIB,stk)"
90         ※ Release 1.5.0における修正を元に戻す.
91
92 (3) target_fput_logの実装制限の確認(仕様が修正されたわけではない)
93         - target_fput_log全割込みロック状態で呼び出せるようになっているか確
94           認する.
95
96 ----------------------------------------------------------------------
97
98                 TOPPERS/ASPカーネル
99                 Release 1.4.0 から 1.5.0 への変更点
100
101 ○変更点のリスト
102
103 ・カーネル管理外の割込みとCPU例外の扱いの見直し
104         - カーネル管理外の割込みの設定方法を整理・拡張.
105         - カーネル管理外の割込みハンドラは,カーネル内の出入口処理を経由し
106           ないことを基本とした(ターゲット依存).
107         - CPU例外ハンドラの出入口処理におけるカーネル管理外のCPU例外の扱い
108           を規定.
109
110 ・chg_ipmとget_ipmの仕様変更
111         - chg_ipmとget_ipmは,CPUロック状態では呼べないものとした.
112         - これに伴ってテストプログラムを修正.
113
114 ・タイマ割込み処理で呼び出したialm_timの基準時間の変更
115         - current_timeの更新後に,タイムイベントの処理を行うように変更.
116         - 有効な最小のシステム時刻としてmin_timeを導入.
117         - pend_updateを廃止.
118
119 ・タスクのスタックサイズの最小値チェックの追加
120         - スタックサイズが0の場合のエラーを,ターゲット非依存で検出.
121         - ターゲット依存で,タスクのスタックサイズの最小値を設定できるよう
122           にした.
123
124 ・タスク初期化コンテキストブロックの追加
125         - ターゲット依存で,タスク初期化コンテキストブロック(TSKINICTXB)
126           を使用できるようにした.
127
128 ・ターゲット依存部で定義する名称のリネーム方法の変更
129         - ターゲット依存部で定義し,ターゲット非依存部から参照する名称のリ
130           ネーム記述を,ターゲット依存部に移動.
131
132 ・拡張パッケージの追加
133         - ミューテックス機能拡張パッケージ,オーバランハンドラ機能拡張パッ
134           ケージ,タスク優先度拡張パッケージを,一般公開するファイルに追加.
135         - オーバランハンドラ機能拡張への対応方法を,ポーティングガイドに記載.
136
137 ・サポートする機能を識別するマクロの定義方法の変更
138         - ターゲット依存部でTOPPERS_TARGET_SUPPORT_XXXXXがマクロ定義されて
139           いれば,kernel.hでTOPPERS_SUPPORT_XXXXXをマクロ定義する方法に変更.
140
141 ・システムログ機能の修正
142         - syslog_initializeが呼ばれる前のログ情報の出力に対応.
143         - sysog_logmaskとsyslog_lowmask_notの初期値を修正.
144
145 ・テストライブラリの修正
146         - test_lib.hとtest_lib.cを,testディレクトリから,それぞれincludeと
147           libraryディレクトリに移動.
148         - syslog_flush関数を追加.logtask_flushの代わりに使用.
149         - test_finish関数を追加.テストプログラム中でext_kerの代わりに使用.
150         - 以上に伴ってテストプログラムを修正.
151
152 ・configureの拡張
153         - Makefileのテンプレートを指定するためのオプションを追加.
154
155 ・その他のバグフィックス
156         - kernel_impl.h中のマクロ名の修正.
157         - kernel.tf中の文法ミスの修正.
158
159 ・その他の修正
160         - CTXB型をTSKCTXB型に名称変更.
161         - ext_tskで,戻らないはずの処理から戻った場合には,E_SYSを返す.
162         - call_texrtnからdispatchを呼び出す処理を改善.
163         - make_non_waitを,wait.cからwait.hに移動.
164         - xsns_xpn中の冗長な条件式を削除.
165         - TA_DISINTとTA_LEVELをitron.hから削除.
166         - LOG_TEX_LEAVEの第2パラメータを削除.
167         - サンプルのMakefileに,OMIT_WARNING_ALLとOMIT_OPTIMIZATIONを追加.
168         - get_utmに関するテスト(1)(test_utm1)を追加.
169         - test_dlynse.cの表示を改善.
170
171 ・ドキュメントの充実,コメントの修正
172         - 機能拡張・チューニングガイドに関して,ユーザーズマニュアルに記載.
173         - キュー操作ライブラリ関数に関して,ユーザーズマニュアルに記載.
174         - システムの起動時の初期化処理に関して,ユーザーズマニュアルに記載.
175         - 設計メモを拡充.
176
177 ・バージョン番号の更新
178         - カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
179
180 ○ターゲット依存部の要修正箇所(1.4.0 → 1.5.0)
181
182 (1) カーネル管理外の割込みの扱いの変更
183         - カーネル管理外の割込みハンドラの呼び出し方について,これまでの考
184           え方を変更した.「ターゲット依存部 ポーティングガイド」の6.6.7節
185           の記述通りに実装されているかチェックする.
186         - TA_NONKERNELを使用できるようにする場合には,target.tfで,
187           TARGET_INHATRにTA_NONKERNELを設定する.
188         - パス2のテンプレートファイルのターゲット非依存部に,
189           INTNO_FIX_KERNEL,INHNO_FIX_KERNEL,INTNO_FIX_NONKERNEL,
190           INHNO_FIX_NONKERNEL,USE_INHINIB_TABLE,USE_INTINIB_TABLEのサポー
191           トが追加されたので,使用できる場合には使用するように修正する.
192         - カーネル管理の割込みハンドラの出入口処理について,「ターゲット依
193           存部 ポーティングガイド」の6.6.1節の記述通りに実装されていること
194           を確認する.
195
196 (2) カーネル管理外のCPU例外の扱いの変更
197         - カーネル管理外のCPU例外ハンドラの呼び出し方について,これまでの考
198           え方を変更した.「ターゲット依存部 ポーティングガイド」の6.7.1節
199           の記述を参照して,実装を修正する.
200
201 (3) ターゲット依存部で定義する名称のリネームの追加
202         - ターゲット依存部で定義し,ターゲット非依存部から参照する名称のリ
203           ネーム記述を,ターゲット依存部に追加する.ターゲット依存部とチッ
204           プ依存部の間でも同様の変更を行うことが望ましい.ただし,
205           arch/logtrace/trace_config.cで定義される名称については,ターゲッ
206           ト依存部でリネームする.
207
208 (4) ターゲット依存部でサポートする機能を示すマクロの変更
209         - ターゲット依存部で定義しているTOPPERS_SUPPORT_DIS_INTを
210           TOPPERS_TARGET_SUPPORT_DIS_INTに,TOPPERS_SUPPORT_ENA_INTを
211           TOPPERS_TARGET_SUPPORT_ENA_INTに,TOPPERS_SUPPORT_GET_UTMを
212           TOPPERS_TARGET_SUPPORT_GET_UTMに,それぞれ変更する.
213
214 (5) タスクコンテキストブロックの型名の変更
215         - CTXB型をTSKCTXB型に名称変更する.
216
217 (6) 値取得シンボルテーブルのターゲット依存部の修正
218         - 以下の2行をtarget_def.csv(またはそれに代わるファイル)に加える.
219                 offsetof_TINIB_stksz,"offsetof(TINIB,stksz)"
220                 offsetof_TINIB_stk,"offsetof(TINIB,stk)"
221         ※ 新設されたUSE_TSKINICTXBを使う場合には必要ない.
222         ※ Release 1.6以降を用いる場合には,この修正は必要はない.
223
224 (7) ログマクロの修正
225         - LOG_TEX_LEAVEの第2パラメータが削除されたので,LOG_TEX_LEAVEを定義
226           している場合には,その定義を変更する.
227
228 (8) スタートアップモジュールの修正(bssセクションのクリアを省略している
229         場合のみ)
230         - システムログ機能を使用する場合には,スタートアップモジュールに,
231           syslog_logmaskとsyslog_lowmask_notを0に初期化するコードを追加する.
232         - トレースログ記録のサンプルコードを組み込んでいる場合には,スター
233       トアップモジュールに,trace_modeを0に初期化するコードを追加する.
234
235 (9) タスクのスタックサイズの最小値チェックの設定(オプション)
236         - ターゲット依存に,タスクのスタックサイズの最小値をチェックする場
237           合には,最小値をTARGET_MIN_STKSZに定義する.
238
239 (10) オーバランハンドラ機能拡張への対応(オプション)
240         - オーバランハンドラ機能拡張パッケージに対応する.対応方法について
241           は,「ターゲット依存部 ポーティングガイド」中の「#ifdef
242           TOPPERS_SUPPORT_OVRHDR」がある箇所と,5.7節と6.14節を参照すること.
243
244 ----------------------------------------------------------------------
245
246                 TOPPERS/ASPカーネル
247                 Release 1.3.2 から 1.4.0 への変更点
248
249 ○変更点のリスト
250
251 ・周期ハンドラの仕様変更
252         - sta_cycを呼び出した後,最初に周期ハンドラが起動される時刻を,起動
253           周期後から,起動位相後に変更.
254
255 ・TSZ_MPFの定義を削除
256
257 ・call_atexitの廃止
258         - ターゲット非依存部からcall_atexitを呼び出すのをやめる.
259           call_atexitで行っていた処理(標準的にはsoftware_term_hookを呼び出
260           す処理)は,必要であればtarget_exitの先頭で行うこととする.
261
262 ・get_utmの問題の修正
263         - 周期ハンドラ,アラームハンドラの中でget_utmを呼ぶと,正しい時刻が
264           返らない問題を修正.
265
266 ・スケジューラのモジュール性向上
267         - タスク状態(tstat)の変更を,make_runnableではなく,それを呼ぶ側
268           の関数で行うように修正.
269
270 ・テンプレート変数の値の自動取得
271         - OMIT_INITIALIZE_INTERRUPTとOMIT_INITIALIZE_EXCEPTIONの2つのテンプ
272           レート変数の値を,ヘッダファイルの定義から自動取得するように修正.
273
274 ・トレースログ機能の改善
275         - LOG_TEX_ENTER,LOG_TEX_LEAVEのパラメータに,p_runtskを追加.
276
277 ・実行時間分布集計モジュールの修正
278         - 時刻取得の方法をターゲット依存で変更できるように修正.
279         - TNUM_HISTの定義を,histgram.hからhistgram.cに移動.
280
281 ・コンフィギュレータの分離
282         - cfgは,ASPカーネルとは独立したパッケージとして配布することにする.
283
284 ・マイグレーションガイドの分離
285         - doc/migration.txtは,別途PDFファイルで配布することにする.
286
287 ・テストプログラム,性能評価プログラムの追加
288         - セマフォ機能のテスト(2)(test_sem2)を追加.
289         - act_tsk,iact_tskの処理時間の評価プログラム(perf4)を追加.
290
291 ・clean時に削除するファイル
292         - clean時に削除するファイルを,ターゲット依存部で定義するための変数
293           (CLEAN_FILES)を導入.
294
295 ・ユーティリティの修正
296         - makereleaseが使うディレクトリ名(asp)を,カレントディレクトリか
297           ら決定するように修正.
298         - makedepに,Cygwin環境におけるルートディレクトリ名を指定するため
299           の-Rオプションを追加.MakefileにMAKEDEP_OPTS変数を追加.
300         - gentestをアラームハンドラの複数回起動に対応できるように拡張.
301
302 ・その他のバグフィックス
303         - リネームするシンボルを修正.
304         - 割込みサービスルーチン,初期化ルーチン,終了処理ルーチンの先頭番
305           地に関数名以外を記述した場合にも動作するように修正.
306         - Makefile.dependがない場合の問題を修正.
307
308 ・ドキュメントの充実,コメントの修正
309         - 各ドキュメントにTOPPERSライセンスと目次を追加.
310
311 ・バージョン番号の更新
312         - カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
313
314 ○ターゲット依存部の要修正箇所(1.3.2 → 1.4.0)
315
316 (1) call_atexitの廃止
317         - call_atexitを廃止したため,ターゲット依存部から定義を削除する.
318           call_atexitで行っていた処理(標準的にはsoftware_term_hookを呼び出
319           す処理)は,必要であればtarget_exitの先頭で行う.
320
321 (2) テンプレート変数の値の設定の削除
322         - OMIT_INITIALIZE_INTERRUPTとOMIT_INITIALIZE_EXCEPTIONの2つのテンプ
323           レート変数の値を,ヘッダファイルの定義から自動取得するように修正
324           したため,ターゲット依存部(target.tfまたはそこからインクルードさ
325           れるファイル)で値を定義していれば,その定義を削除する.
326
327 (3) makedepを呼ぶ際のオプションの追加
328         - Makefileのターゲット依存部(Makefile.target等)でmakedepを呼んで
329           いる場合には,$(MAKEDEP_OPTS)を追加する.
330
331         例)@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
332                         -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
333
334 (4) 簡易パッケージへのコンフィギュレータの追加
335         - コンフィギュレータ(cfg)がターゲット非依存部から分離されたため,
336           簡易パッケージに入れる場合には,E_PACKAGEにcfgを含めるための記述
337           を追加する.
338
339         例)INCLUDE ../../cfg/MANIFEST
340
341 ----------------------------------------------------------------------
342
343                 TOPPERS/ASPカーネル
344                 Release 1.3.1 から 1.3.2 への変更点
345
346 ○変更点のリスト
347
348 ・TMAX_RELTIMをユーザから参照できるマクロに
349         - TMAX_RELTIMの定義を,kernel/time_event.hからinclude/t_stddef.hに
350           移動.
351
352 ・const指定の追加
353         - syslog_printf,syslog_print,syslog_wri_log,serial_wri_datのパラ
354           メータにconst指定を追加.
355
356 ・TMIN_ISRPRI,TMAX_ISRPRIの導入
357
358 ・実行時間分布集計モジュールで時間の逆転が疑われるケースの扱い
359         - 実行時間分布集計モジュールで時間の逆転が疑われる度数を計測するよ
360           うに修正.
361
362 ・システムログタスクの終了処理の修正
363         - ログバッファに残ったログ情報であることを示す文字列を出力するように
364           修正.
365
366 ・コンフィギュレータの修正
367         - 順序付きリストの要素に式を使えるように変更.
368         - 静的APIのパラメータに型キャストが含まれるとパースできないバグの修正.
369         - #pragma onceを用いると行番号がずれるバグの修正.
370         - cfgファイルを指定しなかった場合のエラーメッセージの修正.
371
372 ・コンフィギュレータが生成するファイル
373         - コンフィギュレータがkernel_cfg.c以外のファイルを生成する場合に対
374           応するための変数(CFG_OBJS,CFG2_OUT)を導入.
375
376 ・realclean時に削除するファイル
377         - realclean時に削除するファイルを,ターゲット依存部で定義するための
378           変数(REALCLEAN_FILES)を導入.
379
380 ・テストプログラムの追加・拡充
381         - セマフォ機能のテスト(1)を追加.
382         - カーネルの整合性検査にセマフォ毎の検査を追加.
383
384 ・バグフィックス
385         - 非タスクコンテキスト用スタックの確保時のサイズの誤り.
386         - kernel.tf中のエラーメッセージの誤り.
387         - 実行時間分布集計モジュールにおける最大値の扱いのバグ.
388         - Makefile中のAPPLDIRに複数のディレクトリが定義されている時の扱い.
389         - test/perf.cで,計測回数を10000回になるように修正.
390         - DVE68Kターゲット依存部のtarget.tf中のエラーメッセージの誤り.
391
392 ・ドキュメントの充実,コメントの修正
393         - 各ドキュメントにTOPPERSライセンスと目次を追加.
394
395 ・バージョン番号の更新
396
397 ○ターゲット依存部の要修正箇所(1.3.1 → 1.3.2)
398
399 特になし
400
401 ----------------------------------------------------------------------
402
403                 TOPPERS/ASPカーネル
404                 Release 1.3.0 から 1.3.1 への変更点
405
406 ○変更点のリスト
407
408 ・スタックサイズのエラーチェックを追加
409         - CRE_TSKのstk(タスクのスタック領域の先頭番地)がNULLでない場合に,
410           stkszを適切な値(ターゲット依存の値の倍数)に丸める処理をやめ,適
411           切な値でない場合にエラーとするように修正.
412         - DEF_ICSのistk(非タスクコンテキスト用のスタック領域の先頭番地)が
413           NULLでない場合に,istkszが適切な値(ターゲット依存の値の倍数)で
414           ない場合のエラーのチェックを追加.
415
416 ・強制待ち要求ネストの廃止に伴う追加修正
417         - TMAX_SUSCNTの定義を,kernel.hからitron.hに移動.
418         - ref_tskで参照できる情報(T_RTSKのフィールド)からsuscntを削除.
419
420 ・kernel_api.csvの修正
421         - 各オブジェクトの属性のパラメータを,符号無しに修正.
422
423 ・kernel_def.csvの修正
424         - 符号付きのシンボルの定義に",signed"を付加.
425
426 ・itron.hの修正
427         - frsm_tskのタイプミスの修正.
428
429 ・コンフィギュレータの修正
430         - 組込み関数DUMP, TRACE, NOOPを追加.
431         - $FOREACH$や$IF$等の中身が何もないときに,internal errorになる不具
432           合を修正(エラーメッセージの適切化).
433         - $INCLUDE$命令でインクルードしたtfの行番号がずれる不具合を修正.
434         - 64ビット整数が定義されていないと,CSVファイルでsをつけたレコード
435           が符号付きと扱われない不具合の修正.
436         - 型キャストのパース処理に関する不具合の修正.
437         - エラーの起こった行番号が正しくない不具合の修正.
438         - 同じtskidに対してDEF_TEXが複数あるエラーのチェックを行うように修正.
439         - DEF_TEXを使用した時に,TSK.TSKID[tskid]が0になる不具合の修正.
440         - DEF_INH,CFG_INT,DEF_EXCで同じオブジェクト番号に対する登録が重複し
441           た場合のエラーチェックを二重に行っている問題の修正.
442
443 ・配布するファイルの修正
444         - doc/api_spec.txt, ngki_spec.txt, sysstat.txtを除外.
445         - extensionディレクトリを除外.
446
447 ・ドキュメントの修正,コメントの修正
448
449 ・バージョン番号の更新
450
451 ○ターゲット依存部の要修正箇所(1.3.0 → 1.3.1)
452
453 (1) スタックサイズのエラーチェックに関する修正箇所
454         - target.tfでkernel.tfをインクルードする前に,CHECK_STKSZ_ALIGNを,
455           スタックサイズがどの値の倍数になっていなければならないかを設定す
456           る.
457                 例)$CHECK_STKSZ_ALIGN = 4$
458
459 (2) ターゲット依存部のユーザーズマニュアルについて
460         - ターゲット依存部のユーザーズマニュアルのファイル名と,そのファイ
461           ルに記述すべき内容を規定した.「ターゲット依存部 ポーティングガイ
462           ド」の「9.1 ドキュメント」の節を参照すること.
463
464 ----------------------------------------------------------------------
465
466                 TOPPERS/ASPカーネル
467                 Release 1.2.1 から 1.3.0 への変更点
468
469 ○変更点のリスト
470
471 ・set_tim(システム時刻の設定)の廃止
472
473 ・属性の変更
474         - TA_DISINTを廃止して,TA_ENAINTを復活.
475
476 ・拡張機能・ターゲット定義機能の有無を判別するマクロ名の変更
477         - TOPPERS_EXTENSION_MUTEXをTOPPERS_SUPPORT_MUTEXに.
478         - TOPPERS_EXTENSION_PRI_LEVELをTOPPERS_SUPPORT_PRI_LEVELに.
479         - SUPPORT_???_???をTOPPERS_SUPPORT_???_???に変更し,ターゲット依存
480           部での定義をtarget_kernel.hに移動する.
481
482 ・型名・変数名・定数名の変更
483         - SYSUTIM → SYSUTM,sysutim → sysutm,p_sysutim → p_sysutm
484         - SIO_ERDY_SND → SIO_RDY_SND,SIO_ERDY_RCV → SIO_RDY_RCV
485         - sio_ierdy_snd → sio_irdy_snd,sio_ierdy_rcv → sio_irdy_rcv
486
487 ・cfg1_out.cのコンパイル/リンク方法の変更
488         - cfg1_out.cからtarget_cfg1_out.hをインクルードするように,コンフィ
489           ギュレータを変更.
490         - ターゲット依存部でtarget_cfg1_out.hを用意する.
491         - cfg1_out.cのリンクは,カーネルと同じ方法をとるように変更.
492
493 ・コンフィギュレータの修正
494         - cfg1_out.cに生成する内容の変更(前記と関連).
495         - boost 1.35.0に対応.
496
497 ・サンプルプログラムの修正
498         - タスク内でのループ回数を固定する機能(TASK_LOOP)を導入.
499
500 ・バグフィックス
501         - 固定長メモリプール領域の確保方法.
502         - DEF_TEXのエラーで,問題になったDEF_TEXの行番号を表示する.
503
504 ・用語の変更
505         -「割込みロック」→「全割込みロック」
506
507 ・ドキュメントの修正
508
509 ・バージョン番号の更新.
510
511 ○ターゲット依存部の要修正箇所(1.2.1 → 1.3.0)
512
513 (1) TA_DISINTの廃止・TA_ENAINTの復活に伴う修正箇所
514         - TA_DISINTを使った判定をTA_ENAINTを使った判定に変更する.
515                 例)((intatr & TA_DISINT) == 0U) → ((intatr & TA_ENAINT) != 0U)
516         - CFG_INTの割込み属性にTA_DISINTが設定されていれば,それを消す.
517                 例)CFG_INT(INTNO_SIO, { TA_DISINT | INTATR_SIO, INTPRI_SIO });
518                 → CFG_INT(INTNO_SIO, { INTATR_SIO, INTPRI_SIO });
519         - CFG_INTの割込み属性にTA_DISINTが設定されていなければ,TA_ENAINTを
520           加える.
521                 例)CFG_INT(INTNO_TIMER, { INTATR_TIMER, INTPRI_TIMER });
522                 → CFG_INT(INTNO_TIMER, { TA_ENAINT | INTATR_TIMER, INTPRI_TIMER });
523
524 (2) 拡張機能・ターゲット定義機能の有無を判別するマクロ名の変更に伴う修正箇所
525         - SUPPORT_???_???をTOPPERS_SUPPORT_???_???に変更し,ターゲット依存
526           部での定義をtarget_kernel.hに移動する.
527                 TOPPERS_SUPPORT_DIS_INT                 dis_intをサポートする
528                 TOPPERS_SUPPORT_ENA_INT                 ena_intをサポートする
529                 TOPPERS_SUPPORT_GET_UTM                 get_utmをサポートする
530    - makeoffset.cで,TOPPERS_EXTENSION_MUTEXを参照している場合には,
531      TOPPERS_SUPPORT_MUTEXに変更する.
532
533 (3) 型名・変数名・定数名の変更に伴う修正箇所
534         - SYSUTIM → SYSUTM,sysutim → sysutm,p_sysutim → p_sysutm
535         - SIO_ERDY_SND → SIO_RDY_SND,SIO_ERDY_RCV → SIO_RDY_RCV
536         - sio_ierdy_snd → sio_irdy_snd,sio_ierdy_rcv → sio_irdy_rcv
537         ★sysutimとerdyを大文字小文字を区別せずにサーチするとよい.
538
539 (4) cfg1_out.cのコンパイル/リンク方法の変更に伴う修正箇所
540         - ターゲット依存部で,target_cfg1_out.hを用意する.詳しくは,「ター
541           ゲット依存部 ポーティングガイド」の7.4節を参照.
542         - 新たに用意したファイルをMANIFESTに追加する.
543
544 (5) 警告メッセージへの対処
545         - Makefile.targetに,「COPTS := $(COPTS) -Werror」を追加することを
546           検討する.カーネル内で厳密な別名規則による警告メッセージが出る場
547           合には,「KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing」
548           を追加してもよい.
549
550 (6) コメントの修正
551         -「割込みロック」→「全割込みロック」
552
553 ----------------------------------------------------------------------
554
555                 TOPPERS/ASPカーネル
556                 Release 1.2.0 から 1.2.1 への変更点
557
558 ○変更点のリスト
559
560 ・トレースログ記録のサンプルコードを組み込む方法の変更
561         - configureに-rオプションを追加.
562         - sample/Makefileの修正.
563
564 ・Makefileのコンフィギュレータ関連部分の変更
565         - コンフィギュレータに対するターゲット依存のオプションを,Makefile
566           のターゲット依存部で記述するように変更.
567         - コンフィギュレータの各パスのターゲット依存のファイルへの依存関係
568           を,Makefileのターゲット依存部で記述するように変更.
569
570 ・バージョン番号の更新.
571
572 ○ターゲット依存部の要修正箇所(1.1.0 → 1.2.1)
573
574 (1) 新しいコンフィギュレータへの対応
575
576 ・target.tf中で,ヘッダファイルと重複した定数値の定義を行っている場合に
577  は,target_def.cvsに変数記述を行い,重複した定義を削除する.
578
579 ・コンフィギュレータに対するオプションに,target_def.cvsを読み込ませる
580  指定を追加する.「ターゲット依存部 ポーティングガイド」2.4節の
581  (2-4-15) 項を参照.
582
583 ・target_check.tfを作成する.「ターゲット依存部 ポーティングガイド」
584  7.3節参照.
585
586 ・コンフィギュレータの各パスに対して,ターゲット依存のファイルへの依存
587  関係を定義する.「ターゲット依存部 ポーティングガイド」2.7節参照.
588
589 (2) データ型と定数の変更・追加
590
591 ・BOOLをbool_tに,TRUEとFALSEをそれぞれtrueとfalseに変更する.ER_BOOLな
592  どを変更しないように注意すること.コメント中に記述されたこれらのデー
593  タ型と定数も変更すること.
594
595 ・charをchar_tに変更する.ただし,文字列定数が記述されることが多い引数
596  等は,コンパイラの警告を避けるために,char *のままとする.ターゲット
597  依存部で最低限変更しなければならないのは,以下の2箇所.
598
599         - target_fput_logの引数
600         - sio_snd_chrの第2引数
601
602 ・target_stddef.h(またはそこからインクルードされるファイル)に,サイズ
603  の指定された浮動小数点型(float32_tとdouble64_t),その最大値・最小値
604  のマクロの定義を追加する.「ターゲット依存部 ポーティングガイド」3.4
605  節参照.開発環境がGCCでarch/gcc/tool_stddef.hを用いており,float型と
606  double型がそれぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点数
607  である場合には,arch/gcc/tool_stddef.hをインクルードする前に,
608  TOPPERS_STDFLOAT_TYPE1をマクロ定義すればよい.
609
610 (3) トレースログ記録のサンプルコードの組込み(オプション)
611
612 ・ターゲット依存部を,トレースログ記録のサンプルコードを使用するように
613  修正する.「ターゲット依存部 ポーティングガイド」6.11.2節参照.
614
615 (4) TARGETDIR変数の使用
616
617 ・Makefileのターゲット依存部で,ターゲット依存部ディレクトリを参照して
618  いる箇所で,$(SRCDIR)/target/$(TARGET)を,$(TARGETDIR)に変更する.
619
620 ----------------------------------------------------------------------
621
622                 TOPPERS/ASPカーネル
623                 Release 1.1.0 から 1.2.0 への変更点
624
625 ○変更点のリスト
626
627 ・コンフィギュレータを新しいバージョンに差し換え
628         - パス1とパス3にもターゲット依存機能を追加.
629         - FMPカーネルのクラス記述に対応.
630         - 追加ファイル(ターゲット非依存部,cfg以下を除く)
631                 kernel/kernel_api.csv, kernel_def.csv, kernel_check.tf
632         - 追加ファイル(ターゲット依存部)
633                 target_def.csv, target_check.tf
634         - sample/Makefileを新しいコンフィギュレータに対応させる.
635         - ミューテックス機能拡張でコンフィギュレータのmakeを不要に.
636
637 ・データ型と定数の変更・追加
638         - BOOL型をbool_t型に変更.
639                 BOOL → bool_t,TRUE → true,FALSE → false
640                 従来の定義をitron.hに追加.
641         - char型をchar_t型に変更.
642                 ただし,文字列定数が記述されることが多い引数等は,コンパイラの
643                 警告を避けるために,char *のままとする.
644         - float32_t, double64_tの追加.
645
646 ・テストプログラムの追加・修正
647         - システムコンフィギュレーションファイルからインクルードするコンフィ
648           ギュレーションファイルの整理(ボトムアップ順序に).
649         - テストプログラムの生成スクリプト(utils/gentest)を作成.
650         - ミューテックス機能のテストプログラムを生成スクリプト対応に.
651         - ミューテックス機能拡張にtest_mutex7を追加.
652
653 ・システムサービスのヘッダファイルのインクルード記述の整理
654         - syssvcの下のヘッダファイルは,#include "syssvc/??????.h"でインク
655       ルードする(??????.cからインクルードする場合を除く).
656         - Makefileから,-I$(SRCDIR)/syssvcを削除.
657
658 ・カーネル起動メッセージの出力(banner)機能の独立
659         - syssvc/banner.cfg, banner.hを作成.
660         - syslog.cfgから関連する記述を削除.
661
662 ・t_syslog.hとsyslog.hの役割の変更
663         - t_syslog.hは,システムログ出力を行うための定義を含むヘッダファイ
664           ルとし,システムログ機能を操作するための定義は,syslog.hに移す.
665
666 ・シリアルインタフェースドライバのフラッシュ方法の変更
667         - シリアルインタフェースドライバの強制フラッシュ機能は廃止し,未送
668           信文字の取出し機能を新設.これを用いた強制フラッシュ処理は,シス
669           テムログタスクの終了処理ルーチン側で実施.
670
671 ・タスクディスパッチの要否の判定方法の変更
672         - タスクディスパッチの必要な状態にする関数を,すべて,タスクディス
673           パッチの要否を返すようにし,p_runtskとp_schedtskの比較による判定
674           をなるべく使わないように修正.
675
676 ・トレースログ記録のサンプルコードの使用方法を規定
677         - ポーティングガイドの6.11.2節に,ターゲット依存部でトレースログ記
678           録のサンプルコードを使用する方法を規定.
679         - DVE68Kターゲット依存部をそれに従うように修正.
680
681 ・TARGETDIR変数の導入
682         - sample/Makefileで,ターゲット依存部ディレクトリを示す変数
683           TARGETDIRを定義.
684         - これを使うように,ターゲット依存部を修正.
685
686 ・その他のバグフィックス
687         - kernel_rename.def:log_???_entry → log_???_enter
688
689 ・その他の修正
690         - T_RLOG → T_SYSLOG_RLOG
691         - syssvcの下のヘッダファイルにもthrow()を入れる.
692         - makerelease:RELEAEディレクトリがなければ作る.
693
694 ・ドキュメントの充実.コメントの追加・修正.
695         - doc/migration.txtを作成(現時点では未完成).
696
697 ・バージョン番号の更新.
698
699 ○ターゲット依存部の要修正箇所(1.1.0 → 1.2.0)
700
701 (1) 新しいコンフィギュレータへの対応
702
703 ・target.tf中で,ヘッダファイルと重複した定数値の定義を行っている場合に
704  は,target_def.cvsに変数記述を行い,重複した定義を削除する.
705
706 ・target_check.tfを作成する.「ターゲット依存部 ポーティングガイド」
707  7.3節参照.
708
709 (2) データ型と定数の変更・追加
710
711 ・BOOLをbool_tに,TRUEとFALSEをそれぞれtrueとfalseに変更する.ER_BOOLな
712  どを変更しないように注意すること.コメント中に記述されたこれらのデー
713  タ型と定数も変更すること.
714
715 ・charをchar_tに変更する.ただし,文字列定数が記述されることが多い引数
716  等は,コンパイラの警告を避けるために,char *のままとする.ターゲット
717  依存部で最低限変更しなければならないのは,以下の2箇所.
718
719         - target_fput_logの引数
720         - sio_snd_chrの第2引数
721
722 ・target_stddef.h(またはそこからインクルードされるファイル)に,サイズ
723  の指定された浮動小数点型(float32_tとdouble64_t),その最大値・最小値
724  のマクロの定義を追加する.「ターゲット依存部 ポーティングガイド」3.4
725  節参照.開発環境がGCCでarch/gcc/tool_stddef.hを用いており,float型と
726  double型がそれぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点数
727  である場合には,arch/gcc/tool_stddef.hをインクルードする前に,
728  TOPPERS_STDFLOAT_TYPE1をマクロ定義すればよい.
729
730 (3) トレースログ記録のサンプルコードの使用方法に従った修正(オプション)
731
732 ・ターゲット依存部を,トレースログ記録のサンプルコードを使用するように
733  修正する.「ターゲット依存部 ポーティングガイド」6.11.2節参照.
734
735 (4) TARGETDIR変数の使用
736
737 ・Makefileのターゲット依存部で,ターゲット依存部ディレクトリを参照して
738  いる箇所で,$(SRCDIR)/target/$(TARGET)を,$(TARGETDIR)に変更する.
739
740 ----------------------------------------------------------------------
741
742                 TOPPERS/ASPカーネル
743                 Release 1.0.0 から 1.1.0 への変更点
744
745 ○変更点のリスト
746
747 ・frsm_tskをカーネルから削除.itron.hにマクロ定義として残す
748
749 ・カーネルのトレースログ機能の改修
750         - トレースログマクロを使う側のファイルで,デフォルト定義を与える.
751         - nulltraceを廃止.logtraceを修正.
752         - ターゲット依存部でのトレースログ取得方法を標準化.
753         - INTHDR_ENTRYとEXCHDR_ENTRYにパラメータを追加.
754         - target_putcを,target_fput_logにリネーム.
755
756 ・システムログ機能をカーネルから外して,システムサービスの位置付けに
757         - syslog.c,syslog.h,banner.cを,kernelからsyssvcに移動.
758         - システムログ機能のサービスコールの名称にsyslog_を付加.
759
760 ・システムサービスのディレクトリの位置付けの明確化
761         - logtask.hとserial.hを,includeからsyssvcに移動.
762         - vasyslog.cを,libraryからsyssvcに移動.
763
764 ・リリースパッケージの形態を整備
765         - utils/makereleaseを作成.utils/genmanifestを削除.
766         - MANIFESTファイルに,パッケージ名とバージョン番号を記述.
767         - MANIFESTファイルのINCLUDE記述を変更.
768
769 ・出入口処理の番地の変数/フィールド名の変更
770         - 割込みハンドラ/CPU例外ハンドラの出入口処理の番地(FP型)の変数/
771           フィールド名をint_entry/exc_entryに変更.コメントも修正.
772
773 ・DVE68K/M68K依存部の修正.
774         - target.tf中のエラーメッセージの修正.
775         - logtraceを使うように修正.
776
777 ・その他の修正.
778         - 固定長メモリプール初期化ブロックの生成に関するバグを修正.
779         - configureで,cfgが生成されているかのチェックを厳密化.
780         - sample/Makefileにおいて,ライブラリに関する依存記述の修正.
781         - sample/sample1.cfgにおいて,システムサービスの定義順を変更.
782         - extension/MANIFESTに,MANIFESTを追加.
783
784 ・ドキュメントの充実.コメントの追加・修正.
785
786 ・バージョン番号の更新.
787
788 ○ターゲット依存部の修正箇所(1.0.0 → 1.1.0)
789
790 ・カーネルのトレースログ機能の中で,ターゲット依存部で実装する必要があ
791  るものを実装する.詳しくは,porting.txtの6.1.2節,6.5.2節,6.6.1節,
792  6.7.1節を参照すること.
793
794 ・INTHDR_ENTRYとEXCHDR_ENTRYに2番目のパラメータが追加されたのに対応する.
795
796 ・TARGET_NAMEとCOPYRIGHT_TARGETを,target_config.hからtarget_syssvc.hに
797  移動する.COPYRIGHT_TARGETはTARGET_COPYRIGHTにリネームする.
798
799 ・target_putcをtarget_fput_logにリネームし,その宣言をtarget_config.hか
800  らtarget_syssvc.hに移動する.関数定義は,target_config.cに置いたまま
801  でよい.関数宣言・定義の上のコメントを修正する.
802
803 ・割込みハンドラの出入口処理の番地(FP型)の変数/フィールド名をinthdr
804  からint_entryに,CPU例外ハンドラの出入口処理の番地(FP型)の変数/
805  フィールド名をexchdrからexct_entryに,それぞれ変更する.これに関連す
806  るx_define_inhとx_define_excのコメントを修正する.
807
808 ・トレースログを記録しない場合には,target_config.hから「#include
809  "nulltrace/trace_config.h"」を削除する.
810
811 ・トレースログを記録する場合には,target_syssvc.hに「#include
812  "logtrace/trace_config.h"」を追加する.また,target_config.h中の
813  「#include "logtrace/trace_config.h"」の位置を前の方に移動する.
814
815 ・MANIFESTとE_PACKAGEを作成/修正する.MANIFEST中に,必要に応じて,
816  PACKAGEディレクティブとVERSIONディレクティブを追加する.また,
817  INCLUDEディレクティブのパラメータを,ディレクトリ名からファイル名に変
818  更する.ターゲットシステム毎に,E_PACKAGEを作成する.詳しくは,
819  user.txtの2章とporting.txtの9.1節を参照すること.
820
821 ----------------------------------------------------------------------