source: rubycfg_asp/trunk/asp_dcre/doc/version.txt@ 315

Last change on this file since 315 was 315, checked in by coas-nagasima, 7 years ago

SVNプロパティを設定

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plane; charset=UTF-8
File size: 55.3 KB
Line 
1
2 TOPPERS/ASPカーネル
3 変更履歴
4
5 対応バージョン: Release 1.9.3
6 最終更新: 2017年4月29日
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-2017 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 315 2017-07-23 05:29:40Z coas-nagasima $
49----------------------------------------------------------------------
50
51 TOPPERS/ASPカーネル
52 Release 1.9.2 から 1.9.3 への変更点
53
54○変更点のリスト
55
56・動的生成機能拡張パッケージのバグフィックス
57 - acre_tskで,優先度の高いタスクを生成・起動してもディスパッチが起
58 こらない不具合を修正.
59 - fsnd_dtqとifsnd_dtqで,エラーコードにE_OKを上書きしている不具合
60 を修正.
61 - acre_tskで,p_tinib->stkszに格納する値(stksz)を丸めた値とする
62 ように修正.
63
64・その他の修正
65 - syslog_ref_logの出口のログ出力マクロ(LOG_SYSLOG_REF_LOG_LEAVE)
66 のパラメータにエラーコードを追加.
67 - extension/dcre/kernel/kernel.tfで,ISRに渡す拡張情報をintptr_t型
68 へのキャストするように修正.
69 - sample/Makefile中のコンパイラに対する-Tオプションを,-Wl,-Tオプ
70 ションに変更.
71 - utils/genoffset.tfに,SIL_ENDIAN_BIT/LITTLEの誤定義の検出処理を
72 追加.
73 - コンフィギュレータのエラーメッセージの修正.
74 - テンプレートファイルの記述スタイルの修正.
75 - 拡張パッケージも,kernel.tf中で,スタック領域の確保にALLOC_STACK
76 を使うように修正(過去の修正時の拡張パッケージの修正漏れ).
77 - TLSFのinit_memory_poolが返すエラー値のチェック方法を修正〔Mac OS
78 Xターゲット依存部〕.
79
80・ドキュメントの修正,コメントの修正
81
82・バージョン番号の更新
83 - カーネルのバージョン番号を更新.
84
85----------------------------------------------------------------------
86
87 TOPPERS/ASPカーネル
88 Release 1.9.1 から 1.9.2 への変更点
89
90○変更点のリスト
91
92・動的生成機能拡張のバグフィックス
93 - acre_cycで,周期ハンドラを開始する処理のバグを修正.
94
95・その他のバグフィックス
96 - test_cpuexc10.cのチェック値の誤りの修正.
97
98・ドキュメントの修正.
99
100・バージョン番号の更新
101 - カーネルのバージョン番号を更新.
102
103----------------------------------------------------------------------
104
105 TOPPERS/ASPカーネル
106 Release 1.9.0 から 1.9.1 への変更点
107
108○変更点のリスト
109
110・ミューテックス機能拡張の仕様変更
111 - 自タスクがロックしているミューテックスを再度ロックしようとした場
112 合と,自タスクがロックしていないミューテックスをロック解除しよう
113 とした場合のエラーコードをE_OBJに変更.
114
115・ミューテックス機能拡張のバグフィックス
116 - タスク終了時のミューテックスの解放順序を逆順に.
117
118・動的生成機能拡張のバグフィックス
119 - オブジェクト未登録エラーのチェックの抜けおよびバグを修正.
120 - オブジェクト未登録の場合の他のエラーのチェック場所の修正.
121
122・オーバランハンドラ機能拡張のバグフィックス
123 - オーバランタイマ割込みハンドラの起動と,オーバランタイマの再動作
124 開始/停止との競合の問題を修正.
125
126・テストプログラム関係の修正
127
128・その他の修正
129 - xsns_dpnとxsns_xpnで,kerflgもチェックするように修正(安全性の向
130 上のための修正).
131 - kernel.tf中で,スタック領域の確保にALLOC_STACKを使うように修正.
132
133・ドキュメントの充実,コメントの修正
134
135・バージョン番号の更新
136 - カーネルのバージョン番号を更新.
137
138----------------------------------------------------------------------
139
140 TOPPERS/ASPカーネル
141 Release 1.8.0 から 1.9.0 への変更点
142
143○変更点のリスト
144
145・メッセージバッファ機能拡張パッケージの追加
146
147・コンフィギュレータのパス3のテンプレートファイルに,ターゲット依存部で
148 設定したセクションを,LMAからVMAにコピーする処理を追加
149
150・サンプルのMakefileの修正
151 - C言語の時に-lcを付けるように修正.
152 - CFG_OBJSを,CFG_ASMOBJSとCFG_COBJSに分離.
153
154・先頭番地のチェックコードの修正
155 - 先頭番地のサイズが固定値になっていたところを,sizeof_FPに修正.
156 - オーバランハンドラ機能拡張において,オーバランハンドラの先頭番地
157 のチェックを追加.
158
159・静的APIにおけるエラーチェックの追加
160 - 符号無しのパラメータに負の値を指定した場合のエラーチェックを追加.
161 - イベントフラグの初期ビットパターンのエラーチェックを追加.
162
163・テストプログラム関係の修正
164 - テストライブラリに,test_startを追加.
165 - テストプログラムの先頭で,プログラム名を表示するように修正.
166 - gentestを拡張.
167
168・動的生成機能拡張のバグフィックス
169 - カーネルが割り付けるメモリ領域のサイズのチェックコードを修正.
170 - DEF_KMMのkmmszが0以下の場合のエラーチェックを追加.
171 - カーネル内部シンボルのリネーム表を修正.
172
173・その他のバグフィックス
174 - kernel_def.csvにTARGET_MIN_ISTKSZを追加.
175 - オーバランハンドラ機能拡張で,オーバランハンドラをサポートしてい
176 ないターゲットでDEF_OVRを使用した場合には,コンフィギュレータでエ
177 ラーとするように修正.
178
179・その他の修正
180 - reqdspをdspreqに,p_reqdspをp_dspreqにリネーム.
181 - スタック領域と固定長メモリプール領域の先頭番地をユーザが指定した
182 場合には,kernel_cfg.c中で(void *)型にキャストするように修正.動
183 的生成機能拡張のカーネルが割り付けるメモリ領域の先頭番地も同様.
184 - TNUM_PORTが5以上の時は,serial.cでエラーを報告する.
185 - makedepとmakereleaseを改善.
186
187・ドキュメントの充実,コメントの修正
188 - ユーザーズマニュアルに「1.6 Cygwin環境における注意事項」を追加.
189 - ユーザーズマニュアルに「11.8 rodataセクションをRAMに置く場合」を
190 追加.
191
192・バージョン番号の更新
193 - カーネルのバージョン番号を更新.
194
195○ターゲット依存部の要修正箇所(1.8.0 → 1.9.0)
196
197(1) CFG_OBJSをCFG_COBJSにリネーム
198 - Makefileのターゲット依存部でCFG_OBJSを定義している場合には,
199 CFG_COBJSにリネームする.
200
201----------------------------------------------------------------------
202
203 TOPPERS/ASPカーネル
204 Release 1.7.0 から 1.8.0 への変更点
205
206○変更点のリスト
207
208・char_t型の廃止
209
210・SILのメモリ空間読出し関数に渡すポインタの属性の変更
211 - sil_r??_???に渡しポインタに,const属性を追加.
212
213・非タスクコンテキスト用のスタック領域のサイズチェックの追加
214 - DEF_ICSのistkszがターゲット定義の最小値(TARGET_MIN_ISTKSZ)より
215 も小さい場合にE_PARエラーとする処理を追加.
216
217・vasyslog.cをlibraryディレクトリに移動
218
219・MISRA-C対応のためのコードの修正
220 - 文をマクロ定義している箇所をdo{}while(false)で囲む.
221 - コンマ演算子に使用を最小限に.
222 - 多重代入文をやめる.
223 - 符号無し整数定数にUをつける.
224 - 標準的な名前を変数名として使わないように修正.
225 - 返値を使わない関数呼出しを(void)にキャストする.
226
227・その他のバグフィックス
228 - ミューテックス機能拡張で,ref_tskがTTW_MTXを返す処理を追加.
229 - 動的生成機能拡張で,acre_isrのエラーコードを修正.
230 - 動的生成機能拡張で,オブジェクトコントロールブロックがない時に
231 acre_yyyを呼んだ場合の問題を修正.
232 - kernel_check.tfでエラーメッセージの出力処理を修正.
233 - 拡張モジュールの追従ミスの修正.
234 - TOPPERS_SUPPORT_OVRTIMをTOPPERS_SUPPORT_OVRHDRに修正.
235
236・サンプルのMakefileの修正
237 - カーネルライブラリを別ディレクトリで作成する時に,カーネルライブ
238 ラリが更新されたら,オブジェクトファイルを再構築するように修正.
239 - CFG2_OUTをCFG2_OUT_SRCSにリネーム.
240 - LDFLAGSは,cfg1_out.cのリンク時には適用されないように修正.
241 - log_output.o,vasyslog.o,t_perror.o,strerror.oを,SYS_COBJSから
242 APPL_COBJSに移動.
243
244・その他の修正
245 - semaphore.h等からwait.hをインクルードするように修正.
246 - TOPPERS_EMPTY_LABELのデフォルトの定義をkernel_int.hに移動.
247 - __STDC_VERSION__が定義されていない場合に対応.
248 - test_lib.hに多重インクルードの防止コードを追加.
249 - ユーティリティプログラムを新しいperlに対応するように修正.
250 - gentestを拡張(CPU例外ハンドラの生成,GOTOに対応など).
251 - configureにオプションを追加.
252 - test_tex1にテストケース1件を追加.
253
254・ドキュメントの充実,コメントの修正
255
256・バージョン番号の更新
257 - カーネルのバージョン番号を更新.
258
259○ターゲット依存部の要修正箇所(1.7.0 → 1.8.0)
260
261(1) char_t型をchar型に修正
262
263(2) TARGET_MIN_ISTKSZの定義を追加(オプション)
264 - 非タスクコンテキストのスタックサイズの最小値をチェックする場合に
265 は,最小値をTARGET_MIN_ISTKSZに定義する.
266
267(3) CFG2_OUTをCFG2_OUT_SRCSにリネーム
268 - Makefileのターゲット依存部でCFG2_OUTを定義している場合には,
269 CFG2_OUT_SRCSにリネームする.
270
271(4) CFG1_OUT_LDFLAGSの定義
272 - Makefileのターゲット依存部で定義したLDFLAGSは,cfg1_out.cをリンク
273 する際には適用されないように変更したため,LDFLAGSに定義したオプショ
274 ンで,cfg1_out.cをリンクする際にも必要なものは,CFG1_OUT_LDFLAGS
275 にも定義するように修正する.
276
277----------------------------------------------------------------------
278
279 TOPPERS/ASPカーネル
280 Release 1.6.0 から 1.7.0 への変更点
281
282○変更点のリスト
283
284・動的生成機能拡張パッケージ,制約タスク拡張パッケージの追加
285
286・タスク例外処理ルーチンの実行開始条件の変更
287 - タスク例外処理ルーチンの実行に関するコードの修正.
288 - ipmflgを導入.
289 - exc_sense_unlockを廃止.
290
291・データキューのコードの修正
292 - データ管理ブロックの導入(他のオブジェクトの実装と整合された).
293
294・SILのメモリ空間アクセス関数に渡すポインタの型の変更
295 - void *を渡していたところを,サイズにあわせて,uint8_t *などに変更.
296
297・動的生成機能拡張パッケージにあわせた修正
298 - t_stddef.hにMB_T型の定義を追加.
299 - コンフィギュレータのテンプレートファイル(パス2および3)で定義し
300 ていたターゲット依存情報を,ヘッダファイルに移動.
301 - kernel_def.csvに,それらの値を取得するための記述を追加.
302 - ポーティングガイドの修正.
303
304・オフセットファイルをコンフィギュレータで生成する方法を追加
305 - genoffset.tfを追加.
306 - kernel_def.csvに,SIL_ENDIAN_BIG/LITTLEを追加.
307 - sample/Makefileを修正.
308 - m68k依存部を,この方法に対応させる.
309 - ポーティングガイドの修正.
310
311・その他のバグフィックス
312 - CHECK_INTPRI_CHGIPMの定義中のtypoを修正.
313 - genoffsetのRelease 1.6.0におけるディグレードを修正.
314 - オーバランハンドラ拡張機能で,ターゲット依存部がオーバランハンド
315 ラをサポートしていない場合には,TCB中のleftotmを定義しないように
316 修正.
317
318・その他の修正
319 - USE_TSKINICTXBをマクロ定義した場合のスタック領域の先頭番地のチェッ
320 クのために,GET_STK_TSKINICTXBを導入.
321 - kernel_cfg.c中で,タスクの先頭番地をTASK型にキャストするように
322 kernel.tfを修正.
323 - ext_tskのE_SYSの返し方を修正.ext_kerもE_SYSを返すコードに修正.
324 - CFG_INTは,有効なすべての割込み番号に対応する方針に従い,コンフィ
325 ギュレータのエラー条件を修正.
326 - makedepに-Sオプションを追加.
327 - シリアルドライバでサポートするポート数を,最大4ポートに変更.
328
329・ドキュメントの充実,コメントの修正
330
331・バージョン番号の更新
332 - カーネルのバージョン番号を更新.
333
334○ターゲット依存部の要修正箇所(1.6.0 → 1.7.0)
335
336(1) ターゲット依存部で,calltexを呼ぶ代わりにcalltexの内容をインライン
337展開している場合に,call_texrtnを呼び出す条件に「ipmflgがtrue」を追加す
338るように修正.
339
340(2) 割込み出入口処理が正しいかの確認.
341 - ポーティングガイドの割込み出入口処理に追加した「割込み優先度マス
342 クを,全解除状態(TIPM_ENAALL)の値に設定する … (*h)」の処理が実
343 現されているかを確認.
344 - ポーティングガイドの6.6.1節の記述を確認((*g)(*i)の注記を追加する
345 など,記述を詳細化した).
346
347(3) exc_sense_unlockの定義を削除.
348
349(4) TARGET_TSKATR,TARGET_ISRATR,TARGET_INHATR,TARGET_INTATR,
350TARGET_EXCATR,TARGET_MIN_STKSZ,CHECK_STKSZ_ALIGNの定義を,ターゲット
351依存部のテンプレートファイル(パス2)からヘッダファイルに移動.
352
353(5) CHECK_FUNC_ALIGN,CHECK_FUNC_NONNULL,CHECK_STACK_ALIGN,
354CHECK_STACK_NONNULL,CHECK_MPF_ALIGN,CHECK_MPF_NONNULLの定義を,ターゲッ
355ト依存部のテンプレートファイル(パス3)からヘッダファイルに移動.
356
357(6) 動的生成機能拡張パッケージに対応.
358 - CHECK_MB_ALIGNの定義を追加.
359 - TSZ_PDQMBの定義を追加(デフォルトで不都合な場合).
360 - VALID_INTNO_CREINTの定義を追加.
361 - 動的メモリ管理に関する定義を追加.
362
363(7) オフセットファイルをコンフィギュレータで生成する方法への対応(必須
364ではないが,対応しておくことが望ましい).詳しくは,ポーティングガイド
365の2.5節を参照すること.
366
367(8) USE_TSKINICTXBをマクロ定義し,CHECK_STACK_ALIGNとCHECK_STACK_NONNULL
368のいずれかを定義している場合には,TINIBからスタック領域の先頭番地を取り
369出すためのテンプレートファイル関数GET_STK_TSKINICTXBを定義.
370
371----------------------------------------------------------------------
372
373 TOPPERS/ASPカーネル
374 Release 1.5.0 から 1.6.0 への変更点
375
376○変更点のリスト
377
378・cfgの新しいバージョン(1.6)に対応
379 - offsetof_TINIB_stkszとoffsetof_TINIB_stkの取得記述をターゲット非
380 依存部に移動.
381
382・ユーティリティの修正
383 - genoffsetに,エンディアン指定をチェックする機能を追加.その際に,
384 コードを整理.
385
386・その他の修正
387 - TCBのpriorityフィールドを,条件があえばuint_8で定義するように修正.
388 - ターゲット依存部でSIL_ENDIAN_BIGもSIL_ENDIAN_LITTLEも定義されてい
389 ない場合に,sil.hでエラーを検出するように修正.
390 - システムログ機能のsysog_logmaskとsyslog_lowmask_notの初期値を修正.
391 - makereleaseを,ファイルの重複をチェックするように修正.
392 - test_utm1のエラーメッセージを修正.
393
394・ドキュメントの充実,コメントの修正
395
396・バージョン番号の更新
397 - カーネルのバージョン番号を更新.
398
399○ターゲット依存部の要修正箇所(1.5.0 → 1.6.0)
400
401(1) makeoffset.cの修正
402 - makeoffset.cに,sil_endian関数を追加する(これにより,genoffsetの
403 エンディアン指定をチェックする機能が有効になる).
404 - オーバランハンドラ拡張パッケージに対応する場合には,leftotmフィー
405 ルドが含まれているかを確認する.
406 - 生成されるoffset.hに変化がないことを確認する.
407
408(2) 値取得シンボルテーブルのターゲット依存部の修正
409 - 以下の2行をtarget_def.csv(またはそれに代わるファイル)から削除する.
410 offsetof_TINIB_stksz,"offsetof(TINIB,stksz)"
411 offsetof_TINIB_stk,"offsetof(TINIB,stk)"
412 ※ Release 1.5.0における修正を元に戻す.
413
414(3) target_fput_logの実装制限の確認(仕様が修正されたわけではない)
415 - target_fput_log全割込みロック状態で呼び出せるようになっているか確
416 認する.
417
418----------------------------------------------------------------------
419
420 TOPPERS/ASPカーネル
421 Release 1.4.0 から 1.5.0 への変更点
422
423○変更点のリスト
424
425・カーネル管理外の割込みとCPU例外の扱いの見直し
426 - カーネル管理外の割込みの設定方法を整理・拡張.
427 - カーネル管理外の割込みハンドラは,カーネル内の出入口処理を経由し
428 ないことを基本とした(ターゲット依存).
429 - CPU例外ハンドラの出入口処理におけるカーネル管理外のCPU例外の扱い
430 を規定.
431
432・chg_ipmとget_ipmの仕様変更
433 - chg_ipmとget_ipmは,CPUロック状態では呼べないものとした.
434 - これに伴ってテストプログラムを修正.
435
436・タイマ割込み処理で呼び出したialm_timの基準時間の変更
437 - current_timeの更新後に,タイムイベントの処理を行うように変更.
438 - 有効な最小のシステム時刻としてmin_timeを導入.
439 - pend_updateを廃止.
440
441・タスクのスタックサイズの最小値チェックの追加
442 - スタックサイズが0の場合のエラーを,ターゲット非依存で検出.
443 - ターゲット依存で,タスクのスタックサイズの最小値を設定できるよう
444 にした.
445
446・タスク初期化コンテキストブロックの追加
447 - ターゲット依存で,タスク初期化コンテキストブロック(TSKINICTXB)
448 を使用できるようにした.
449
450・ターゲット依存部で定義する名称のリネーム方法の変更
451 - ターゲット依存部で定義し,ターゲット非依存部から参照する名称のリ
452 ネーム記述を,ターゲット依存部に移動.
453
454・拡張パッケージの追加
455 - ミューテックス機能拡張パッケージ,オーバランハンドラ機能拡張パッ
456 ケージ,タスク優先度拡張パッケージを,一般公開するファイルに追加.
457 - オーバランハンドラ機能拡張への対応方法を,ポーティングガイドに記載.
458
459・サポートする機能を識別するマクロの定義方法の変更
460 - ターゲット依存部でTOPPERS_TARGET_SUPPORT_XXXXXがマクロ定義されて
461 いれば,kernel.hでTOPPERS_SUPPORT_XXXXXをマクロ定義する方法に変更.
462
463・システムログ機能の修正
464 - syslog_initializeが呼ばれる前のログ情報の出力に対応.
465 - sysog_logmaskとsyslog_lowmask_notの初期値を修正.
466
467・テストライブラリの修正
468 - test_lib.hとtest_lib.cを,testディレクトリから,それぞれincludeと
469 libraryディレクトリに移動.
470 - syslog_flush関数を追加.logtask_flushの代わりに使用.
471 - test_finish関数を追加.テストプログラム中でext_kerの代わりに使用.
472 - 以上に伴ってテストプログラムを修正.
473
474・configureの拡張
475 - Makefileのテンプレートを指定するためのオプションを追加.
476
477・その他のバグフィックス
478 - kernel_impl.h中のマクロ名の修正.
479 - kernel.tf中の文法ミスの修正.
480
481・その他の修正
482 - CTXB型をTSKCTXB型に名称変更.
483 - ext_tskで,戻らないはずの処理から戻った場合には,E_SYSを返す.
484 - call_texrtnからdispatchを呼び出す処理を改善.
485 - make_non_waitを,wait.cからwait.hに移動.
486 - xsns_xpn中の冗長な条件式を削除.
487 - TA_DISINTとTA_LEVELをitron.hから削除.
488 - LOG_TEX_LEAVEの第2パラメータを削除.
489 - サンプルのMakefileに,OMIT_WARNING_ALLとOMIT_OPTIMIZATIONを追加.
490 - get_utmに関するテスト(1)(test_utm1)を追加.
491 - test_dlynse.cの表示を改善.
492
493・ドキュメントの充実,コメントの修正
494 - 機能拡張・チューニングガイドに関して,ユーザーズマニュアルに記載.
495 - キュー操作ライブラリ関数に関して,ユーザーズマニュアルに記載.
496 - システムの起動時の初期化処理に関して,ユーザーズマニュアルに記載.
497 - 設計メモを拡充.
498
499・バージョン番号の更新
500 - カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
501
502○ターゲット依存部の要修正箇所(1.4.0 → 1.5.0)
503
504(1) カーネル管理外の割込みの扱いの変更
505 - カーネル管理外の割込みハンドラの呼び出し方について,これまでの考
506 え方を変更した.「ターゲット依存部 ポーティングガイド」の6.6.7節
507 の記述通りに実装されているかチェックする.
508 - TA_NONKERNELを使用できるようにする場合には,target.tfで,
509 TARGET_INHATRにTA_NONKERNELを設定する.
510 - パス2のテンプレートファイルのターゲット非依存部に,
511 INTNO_FIX_KERNEL,INHNO_FIX_KERNEL,INTNO_FIX_NONKERNEL,
512 INHNO_FIX_NONKERNEL,USE_INHINIB_TABLE,USE_INTINIB_TABLEのサポー
513 トが追加されたので,使用できる場合には使用するように修正する.
514 - カーネル管理の割込みハンドラの出入口処理について,「ターゲット依
515 存部 ポーティングガイド」の6.6.1節の記述通りに実装されていること
516 を確認する.
517
518(2) カーネル管理外のCPU例外の扱いの変更
519 - カーネル管理外のCPU例外ハンドラの呼び出し方について,これまでの考
520 え方を変更した.「ターゲット依存部 ポーティングガイド」の6.7.1節
521 の記述を参照して,実装を修正する.
522
523(3) ターゲット依存部で定義する名称のリネームの追加
524 - ターゲット依存部で定義し,ターゲット非依存部から参照する名称のリ
525 ネーム記述を,ターゲット依存部に追加する.ターゲット依存部とチッ
526 プ依存部の間でも同様の変更を行うことが望ましい.ただし,
527 arch/logtrace/trace_config.cで定義される名称については,ターゲッ
528 ト依存部でリネームする.
529
530(4) ターゲット依存部でサポートする機能を示すマクロの変更
531 - ターゲット依存部で定義しているTOPPERS_SUPPORT_DIS_INTを
532 TOPPERS_TARGET_SUPPORT_DIS_INTに,TOPPERS_SUPPORT_ENA_INTを
533 TOPPERS_TARGET_SUPPORT_ENA_INTに,TOPPERS_SUPPORT_GET_UTMを
534 TOPPERS_TARGET_SUPPORT_GET_UTMに,それぞれ変更する.
535
536(5) タスクコンテキストブロックの型名の変更
537 - CTXB型をTSKCTXB型に名称変更する.
538
539(6) 値取得シンボルテーブルのターゲット依存部の修正
540 - 以下の2行をtarget_def.csv(またはそれに代わるファイル)に加える.
541 offsetof_TINIB_stksz,"offsetof(TINIB,stksz)"
542 offsetof_TINIB_stk,"offsetof(TINIB,stk)"
543 ※ 新設されたUSE_TSKINICTXBを使う場合には必要ない.
544 ※ Release 1.6以降を用いる場合には,この修正は必要はない.
545
546(7) ログマクロの修正
547 - LOG_TEX_LEAVEの第2パラメータが削除されたので,LOG_TEX_LEAVEを定義
548 している場合には,その定義を変更する.
549
550(8) スタートアップモジュールの修正(bssセクションのクリアを省略している
551 場合のみ)
552 - システムログ機能を使用する場合には,スタートアップモジュールに,
553 syslog_logmaskとsyslog_lowmask_notを0に初期化するコードを追加する.
554 - トレースログ記録のサンプルコードを組み込んでいる場合には,スター
555 トアップモジュールに,trace_modeを0に初期化するコードを追加する.
556
557(9) タスクのスタックサイズの最小値チェックの設定(オプション)
558 - ターゲット依存に,タスクのスタックサイズの最小値をチェックする場
559 合には,最小値をTARGET_MIN_STKSZに定義する.
560
561(10) オーバランハンドラ機能拡張への対応(オプション)
562 - オーバランハンドラ機能拡張パッケージに対応する.対応方法について
563 は,「ターゲット依存部 ポーティングガイド」中の「#ifdef
564 TOPPERS_SUPPORT_OVRHDR」がある箇所と,5.7節と6.14節を参照すること.
565
566----------------------------------------------------------------------
567
568 TOPPERS/ASPカーネル
569 Release 1.3.2 から 1.4.0 への変更点
570
571○変更点のリスト
572
573・周期ハンドラの仕様変更
574 - sta_cycを呼び出した後,最初に周期ハンドラが起動される時刻を,起動
575 周期後から,起動位相後に変更.
576
577・TSZ_MPFの定義を削除
578
579・call_atexitの廃止
580 - ターゲット非依存部からcall_atexitを呼び出すのをやめる.
581 call_atexitで行っていた処理(標準的にはsoftware_term_hookを呼び出
582 す処理)は,必要であればtarget_exitの先頭で行うこととする.
583
584・get_utmの問題の修正
585 - 周期ハンドラ,アラームハンドラの中でget_utmを呼ぶと,正しい時刻が
586 返らない問題を修正.
587
588・スケジューラのモジュール性向上
589 - タスク状態(tstat)の変更を,make_runnableではなく,それを呼ぶ側
590 の関数で行うように修正.
591
592・テンプレート変数の値の自動取得
593 - OMIT_INITIALIZE_INTERRUPTとOMIT_INITIALIZE_EXCEPTIONの2つのテンプ
594 レート変数の値を,ヘッダファイルの定義から自動取得するように修正.
595
596・トレースログ機能の改善
597 - LOG_TEX_ENTER,LOG_TEX_LEAVEのパラメータに,p_runtskを追加.
598
599・実行時間分布集計モジュールの修正
600 - 時刻取得の方法をターゲット依存で変更できるように修正.
601 - TNUM_HISTの定義を,histgram.hからhistgram.cに移動.
602
603・コンフィギュレータの分離
604 - cfgは,ASPカーネルとは独立したパッケージとして配布することにする.
605
606・マイグレーションガイドの分離
607 - doc/migration.txtは,別途PDFファイルで配布することにする.
608
609・テストプログラム,性能評価プログラムの追加
610 - セマフォ機能のテスト(2)(test_sem2)を追加.
611 - act_tsk,iact_tskの処理時間の評価プログラム(perf4)を追加.
612
613・clean時に削除するファイル
614 - clean時に削除するファイルを,ターゲット依存部で定義するための変数
615 (CLEAN_FILES)を導入.
616
617・ユーティリティの修正
618 - makereleaseが使うディレクトリ名(asp)を,カレントディレクトリか
619 ら決定するように修正.
620 - makedepに,Cygwin環境におけるルートディレクトリ名を指定するため
621 の-Rオプションを追加.MakefileにMAKEDEP_OPTS変数を追加.
622 - gentestをアラームハンドラの複数回起動に対応できるように拡張.
623
624・その他のバグフィックス
625 - リネームするシンボルを修正.
626 - 割込みサービスルーチン,初期化ルーチン,終了処理ルーチンの先頭番
627 地に関数名以外を記述した場合にも動作するように修正.
628 - Makefile.dependがない場合の問題を修正.
629
630・ドキュメントの充実,コメントの修正
631 - 各ドキュメントにTOPPERSライセンスと目次を追加.
632
633・バージョン番号の更新
634 - カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
635
636○ターゲット依存部の要修正箇所(1.3.2 → 1.4.0)
637
638(1) call_atexitの廃止
639 - call_atexitを廃止したため,ターゲット依存部から定義を削除する.
640 call_atexitで行っていた処理(標準的にはsoftware_term_hookを呼び出
641 す処理)は,必要であればtarget_exitの先頭で行う.
642
643(2) テンプレート変数の値の設定の削除
644 - OMIT_INITIALIZE_INTERRUPTとOMIT_INITIALIZE_EXCEPTIONの2つのテンプ
645 レート変数の値を,ヘッダファイルの定義から自動取得するように修正
646 したため,ターゲット依存部(target.tfまたはそこからインクルードさ
647 れるファイル)で値を定義していれば,その定義を削除する.
648
649(3) makedepを呼ぶ際のオプションの追加
650 - Makefileのターゲット依存部(Makefile.target等)でmakedepを呼んで
651 いる場合には,$(MAKEDEP_OPTS)を追加する.
652
653 例)@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
654 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
655
656(4) 簡易パッケージへのコンフィギュレータの追加
657 - コンフィギュレータ(cfg)がターゲット非依存部から分離されたため,
658 簡易パッケージに入れる場合には,E_PACKAGEにcfgを含めるための記述
659 を追加する.
660
661 例)INCLUDE ../../cfg/MANIFEST
662
663----------------------------------------------------------------------
664
665 TOPPERS/ASPカーネル
666 Release 1.3.1 から 1.3.2 への変更点
667
668○変更点のリスト
669
670・TMAX_RELTIMをユーザから参照できるマクロに
671 - TMAX_RELTIMの定義を,kernel/time_event.hからinclude/t_stddef.hに
672 移動.
673
674・const指定の追加
675 - syslog_printf,syslog_print,syslog_wri_log,serial_wri_datのパラ
676 メータにconst指定を追加.
677
678・TMIN_ISRPRI,TMAX_ISRPRIの導入
679
680・実行時間分布集計モジュールで時間の逆転が疑われるケースの扱い
681 - 実行時間分布集計モジュールで時間の逆転が疑われる度数を計測するよ
682 うに修正.
683
684・システムログタスクの終了処理の修正
685 - ログバッファに残ったログ情報であることを示す文字列を出力するように
686 修正.
687
688・コンフィギュレータの修正
689 - 順序付きリストの要素に式を使えるように変更.
690 - 静的APIのパラメータに型キャストが含まれるとパースできないバグの修正.
691 - #pragma onceを用いると行番号がずれるバグの修正.
692 - cfgファイルを指定しなかった場合のエラーメッセージの修正.
693
694・コンフィギュレータが生成するファイル
695 - コンフィギュレータがkernel_cfg.c以外のファイルを生成する場合に対
696 応するための変数(CFG_OBJS,CFG2_OUT)を導入.
697
698・realclean時に削除するファイル
699 - realclean時に削除するファイルを,ターゲット依存部で定義するための
700 変数(REALCLEAN_FILES)を導入.
701
702・テストプログラムの追加・拡充
703 - セマフォ機能のテスト(1)を追加.
704 - カーネルの整合性検査にセマフォ毎の検査を追加.
705
706・バグフィックス
707 - 非タスクコンテキスト用スタックの確保時のサイズの誤り.
708 - kernel.tf中のエラーメッセージの誤り.
709 - 実行時間分布集計モジュールにおける最大値の扱いのバグ.
710 - Makefile中のAPPLDIRに複数のディレクトリが定義されている時の扱い.
711 - test/perf.cで,計測回数を10000回になるように修正.
712 - DVE68Kターゲット依存部のtarget.tf中のエラーメッセージの誤り.
713
714・ドキュメントの充実,コメントの修正
715 - 各ドキュメントにTOPPERSライセンスと目次を追加.
716
717・バージョン番号の更新
718
719○ターゲット依存部の要修正箇所(1.3.1 → 1.3.2)
720
721特になし
722
723----------------------------------------------------------------------
724
725 TOPPERS/ASPカーネル
726 Release 1.3.0 から 1.3.1 への変更点
727
728○変更点のリスト
729
730・スタックサイズのエラーチェックを追加
731 - CRE_TSKのstk(タスクのスタック領域の先頭番地)がNULLでない場合に,
732 stkszを適切な値(ターゲット依存の値の倍数)に丸める処理をやめ,適
733 切な値でない場合にエラーとするように修正.
734 - DEF_ICSのistk(非タスクコンテキスト用のスタック領域の先頭番地)が
735 NULLでない場合に,istkszが適切な値(ターゲット依存の値の倍数)で
736 ない場合のエラーのチェックを追加.
737
738・強制待ち要求ネストの廃止に伴う追加修正
739 - TMAX_SUSCNTの定義を,kernel.hからitron.hに移動.
740 - ref_tskで参照できる情報(T_RTSKのフィールド)からsuscntを削除.
741
742・kernel_api.csvの修正
743 - 各オブジェクトの属性のパラメータを,符号無しに修正.
744
745・kernel_def.csvの修正
746 - 符号付きのシンボルの定義に",signed"を付加.
747
748・itron.hの修正
749 - frsm_tskのタイプミスの修正.
750
751・コンフィギュレータの修正
752 - 組込み関数DUMP, TRACE, NOOPを追加.
753 - $FOREACH$や$IF$等の中身が何もないときに,internal errorになる不具
754 合を修正(エラーメッセージの適切化).
755 - $INCLUDE$命令でインクルードしたtfの行番号がずれる不具合を修正.
756 - 64ビット整数が定義されていないと,CSVファイルでsをつけたレコード
757 が符号付きと扱われない不具合の修正.
758 - 型キャストのパース処理に関する不具合の修正.
759 - エラーの起こった行番号が正しくない不具合の修正.
760 - 同じtskidに対してDEF_TEXが複数あるエラーのチェックを行うように修正.
761 - DEF_TEXを使用した時に,TSK.TSKID[tskid]が0になる不具合の修正.
762 - DEF_INH,CFG_INT,DEF_EXCで同じオブジェクト番号に対する登録が重複し
763 た場合のエラーチェックを二重に行っている問題の修正.
764
765・配布するファイルの修正
766 - doc/api_spec.txt, ngki_spec.txt, sysstat.txtを除外.
767 - extensionディレクトリを除外.
768
769・ドキュメントの修正,コメントの修正
770
771・バージョン番号の更新
772
773○ターゲット依存部の要修正箇所(1.3.0 → 1.3.1)
774
775(1) スタックサイズのエラーチェックに関する修正箇所
776 - target.tfでkernel.tfをインクルードする前に,CHECK_STKSZ_ALIGNを,
777 スタックサイズがどの値の倍数になっていなければならないかを設定す
778 る.
779 例)$CHECK_STKSZ_ALIGN = 4$
780
781(2) ターゲット依存部のユーザーズマニュアルについて
782 - ターゲット依存部のユーザーズマニュアルのファイル名と,そのファイ
783 ルに記述すべき内容を規定した.「ターゲット依存部 ポーティングガイ
784 ド」の「9.1 ドキュメント」の節を参照すること.
785
786----------------------------------------------------------------------
787
788 TOPPERS/ASPカーネル
789 Release 1.2.1 から 1.3.0 への変更点
790
791○変更点のリスト
792
793・set_tim(システム時刻の設定)の廃止
794
795・属性の変更
796 - TA_DISINTを廃止して,TA_ENAINTを復活.
797
798・拡張機能・ターゲット定義機能の有無を判別するマクロ名の変更
799 - TOPPERS_EXTENSION_MUTEXをTOPPERS_SUPPORT_MUTEXに.
800 - TOPPERS_EXTENSION_PRI_LEVELをTOPPERS_SUPPORT_PRI_LEVELに.
801 - SUPPORT_???_???をTOPPERS_SUPPORT_???_???に変更し,ターゲット依存
802 部での定義をtarget_kernel.hに移動する.
803
804・型名・変数名・定数名の変更
805 - SYSUTIM → SYSUTM,sysutim → sysutm,p_sysutim → p_sysutm
806 - SIO_ERDY_SND → SIO_RDY_SND,SIO_ERDY_RCV → SIO_RDY_RCV
807 - sio_ierdy_snd → sio_irdy_snd,sio_ierdy_rcv → sio_irdy_rcv
808
809・cfg1_out.cのコンパイル/リンク方法の変更
810 - cfg1_out.cからtarget_cfg1_out.hをインクルードするように,コンフィ
811 ギュレータを変更.
812 - ターゲット依存部でtarget_cfg1_out.hを用意する.
813 - cfg1_out.cのリンクは,カーネルと同じ方法をとるように変更.
814
815・コンフィギュレータの修正
816 - cfg1_out.cに生成する内容の変更(前記と関連).
817 - boost 1.35.0に対応.
818
819・サンプルプログラムの修正
820 - タスク内でのループ回数を固定する機能(TASK_LOOP)を導入.
821
822・バグフィックス
823 - 固定長メモリプール領域の確保方法.
824 - DEF_TEXのエラーで,問題になったDEF_TEXの行番号を表示する.
825
826・用語の変更
827 -「割込みロック」→「全割込みロック」
828
829・ドキュメントの修正
830
831・バージョン番号の更新.
832
833○ターゲット依存部の要修正箇所(1.2.1 → 1.3.0)
834
835(1) TA_DISINTの廃止・TA_ENAINTの復活に伴う修正箇所
836 - TA_DISINTを使った判定をTA_ENAINTを使った判定に変更する.
837 例)((intatr & TA_DISINT) == 0U) → ((intatr & TA_ENAINT) != 0U)
838 - CFG_INTの割込み属性にTA_DISINTが設定されていれば,それを消す.
839 例)CFG_INT(INTNO_SIO, { TA_DISINT | INTATR_SIO, INTPRI_SIO });
840 → CFG_INT(INTNO_SIO, { INTATR_SIO, INTPRI_SIO });
841 - CFG_INTの割込み属性にTA_DISINTが設定されていなければ,TA_ENAINTを
842 加える.
843 例)CFG_INT(INTNO_TIMER, { INTATR_TIMER, INTPRI_TIMER });
844 → CFG_INT(INTNO_TIMER, { TA_ENAINT | INTATR_TIMER, INTPRI_TIMER });
845
846(2) 拡張機能・ターゲット定義機能の有無を判別するマクロ名の変更に伴う修正箇所
847 - SUPPORT_???_???をTOPPERS_SUPPORT_???_???に変更し,ターゲット依存
848 部での定義をtarget_kernel.hに移動する.
849 TOPPERS_SUPPORT_DIS_INT dis_intをサポートする
850 TOPPERS_SUPPORT_ENA_INT ena_intをサポートする
851 TOPPERS_SUPPORT_GET_UTM get_utmをサポートする
852 - makeoffset.cで,TOPPERS_EXTENSION_MUTEXを参照している場合には,
853 TOPPERS_SUPPORT_MUTEXに変更する.
854
855(3) 型名・変数名・定数名の変更に伴う修正箇所
856 - SYSUTIM → SYSUTM,sysutim → sysutm,p_sysutim → p_sysutm
857 - SIO_ERDY_SND → SIO_RDY_SND,SIO_ERDY_RCV → SIO_RDY_RCV
858 - sio_ierdy_snd → sio_irdy_snd,sio_ierdy_rcv → sio_irdy_rcv
859 ★sysutimとerdyを大文字小文字を区別せずにサーチするとよい.
860
861(4) cfg1_out.cのコンパイル/リンク方法の変更に伴う修正箇所
862 - ターゲット依存部で,target_cfg1_out.hを用意する.詳しくは,「ター
863 ゲット依存部 ポーティングガイド」の7.4節を参照.
864 - 新たに用意したファイルをMANIFESTに追加する.
865
866(5) 警告メッセージへの対処
867 - Makefile.targetに,「COPTS := $(COPTS) -Werror」を追加することを
868 検討する.カーネル内で厳密な別名規則による警告メッセージが出る場
869 合には,「KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing」
870 を追加してもよい.
871
872(6) コメントの修正
873 -「割込みロック」→「全割込みロック」
874
875----------------------------------------------------------------------
876
877 TOPPERS/ASPカーネル
878 Release 1.2.0 から 1.2.1 への変更点
879
880○変更点のリスト
881
882・トレースログ記録のサンプルコードを組み込む方法の変更
883 - configureに-rオプションを追加.
884 - sample/Makefileの修正.
885
886・Makefileのコンフィギュレータ関連部分の変更
887 - コンフィギュレータに対するターゲット依存のオプションを,Makefile
888 のターゲット依存部で記述するように変更.
889 - コンフィギュレータの各パスのターゲット依存のファイルへの依存関係
890 を,Makefileのターゲット依存部で記述するように変更.
891
892・バージョン番号の更新.
893
894○ターゲット依存部の要修正箇所(1.1.0 → 1.2.1)
895
896(1) 新しいコンフィギュレータへの対応
897
898・target.tf中で,ヘッダファイルと重複した定数値の定義を行っている場合に
899 は,target_def.cvsに変数記述を行い,重複した定義を削除する.
900
901・コンフィギュレータに対するオプションに,target_def.cvsを読み込ませる
902 指定を追加する.「ターゲット依存部 ポーティングガイド」2.4節の
903 (2-4-15) 項を参照.
904
905・target_check.tfを作成する.「ターゲット依存部 ポーティングガイド」
906 7.3節参照.
907
908・コンフィギュレータの各パスに対して,ターゲット依存のファイルへの依存
909 関係を定義する.「ターゲット依存部 ポーティングガイド」2.7節参照.
910
911(2) データ型と定数の変更・追加
912
913・BOOLをbool_tに,TRUEとFALSEをそれぞれtrueとfalseに変更する.ER_BOOLな
914 どを変更しないように注意すること.コメント中に記述されたこれらのデー
915 タ型と定数も変更すること.
916
917・charをchar_tに変更する.ただし,文字列定数が記述されることが多い引数
918 等は,コンパイラの警告を避けるために,char *のままとする.ターゲット
919 依存部で最低限変更しなければならないのは,以下の2箇所.
920
921 - target_fput_logの引数
922 - sio_snd_chrの第2引数
923
924・target_stddef.h(またはそこからインクルードされるファイル)に,サイズ
925 の指定された浮動小数点型(float32_tとdouble64_t),その最大値・最小値
926 のマクロの定義を追加する.「ターゲット依存部 ポーティングガイド」3.4
927 節参照.開発環境がGCCでarch/gcc/tool_stddef.hを用いており,float型と
928 double型がそれぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点数
929 である場合には,arch/gcc/tool_stddef.hをインクルードする前に,
930 TOPPERS_STDFLOAT_TYPE1をマクロ定義すればよい.
931
932(3) トレースログ記録のサンプルコードの組込み(オプション)
933
934・ターゲット依存部を,トレースログ記録のサンプルコードを使用するように
935 修正する.「ターゲット依存部 ポーティングガイド」6.11.2節参照.
936
937(4) TARGETDIR変数の使用
938
939・Makefileのターゲット依存部で,ターゲット依存部ディレクトリを参照して
940 いる箇所で,$(SRCDIR)/target/$(TARGET)を,$(TARGETDIR)に変更する.
941
942----------------------------------------------------------------------
943
944 TOPPERS/ASPカーネル
945 Release 1.1.0 から 1.2.0 への変更点
946
947○変更点のリスト
948
949・コンフィギュレータを新しいバージョンに差し換え
950 - パス1とパス3にもターゲット依存機能を追加.
951 - FMPカーネルのクラス記述に対応.
952 - 追加ファイル(ターゲット非依存部,cfg以下を除く)
953 kernel/kernel_api.csv, kernel_def.csv, kernel_check.tf
954 - 追加ファイル(ターゲット依存部)
955 target_def.csv, target_check.tf
956 - sample/Makefileを新しいコンフィギュレータに対応させる.
957 - ミューテックス機能拡張でコンフィギュレータのmakeを不要に.
958
959・データ型と定数の変更・追加
960 - BOOL型をbool_t型に変更.
961 BOOL → bool_t,TRUE → true,FALSE → false
962 従来の定義をitron.hに追加.
963 - char型をchar_t型に変更.
964 ただし,文字列定数が記述されることが多い引数等は,コンパイラの
965 警告を避けるために,char *のままとする.
966 - float32_t, double64_tの追加.
967
968・テストプログラムの追加・修正
969 - システムコンフィギュレーションファイルからインクルードするコンフィ
970 ギュレーションファイルの整理(ボトムアップ順序に).
971 - テストプログラムの生成スクリプト(utils/gentest)を作成.
972 - ミューテックス機能のテストプログラムを生成スクリプト対応に.
973 - ミューテックス機能拡張にtest_mutex7を追加.
974
975・システムサービスのヘッダファイルのインクルード記述の整理
976 - syssvcの下のヘッダファイルは,#include "syssvc/??????.h"でインク
977 ルードする(??????.cからインクルードする場合を除く).
978 - Makefileから,-I$(SRCDIR)/syssvcを削除.
979
980・カーネル起動メッセージの出力(banner)機能の独立
981 - syssvc/banner.cfg, banner.hを作成.
982 - syslog.cfgから関連する記述を削除.
983
984・t_syslog.hとsyslog.hの役割の変更
985 - t_syslog.hは,システムログ出力を行うための定義を含むヘッダファイ
986 ルとし,システムログ機能を操作するための定義は,syslog.hに移す.
987
988・シリアルインタフェースドライバのフラッシュ方法の変更
989 - シリアルインタフェースドライバの強制フラッシュ機能は廃止し,未送
990 信文字の取出し機能を新設.これを用いた強制フラッシュ処理は,シス
991 テムログタスクの終了処理ルーチン側で実施.
992
993・タスクディスパッチの要否の判定方法の変更
994 - タスクディスパッチの必要な状態にする関数を,すべて,タスクディス
995 パッチの要否を返すようにし,p_runtskとp_schedtskの比較による判定
996 をなるべく使わないように修正.
997
998・トレースログ記録のサンプルコードの使用方法を規定
999 - ポーティングガイドの6.11.2節に,ターゲット依存部でトレースログ記
1000 録のサンプルコードを使用する方法を規定.
1001 - DVE68Kターゲット依存部をそれに従うように修正.
1002
1003・TARGETDIR変数の導入
1004 - sample/Makefileで,ターゲット依存部ディレクトリを示す変数
1005 TARGETDIRを定義.
1006 - これを使うように,ターゲット依存部を修正.
1007
1008・その他のバグフィックス
1009 - kernel_rename.def:log_???_entry → log_???_enter
1010
1011・その他の修正
1012 - T_RLOG → T_SYSLOG_RLOG
1013 - syssvcの下のヘッダファイルにもthrow()を入れる.
1014 - makerelease:RELEAEディレクトリがなければ作る.
1015
1016・ドキュメントの充実.コメントの追加・修正.
1017 - doc/migration.txtを作成(現時点では未完成).
1018
1019・バージョン番号の更新.
1020
1021○ターゲット依存部の要修正箇所(1.1.0 → 1.2.0)
1022
1023(1) 新しいコンフィギュレータへの対応
1024
1025・target.tf中で,ヘッダファイルと重複した定数値の定義を行っている場合に
1026 は,target_def.cvsに変数記述を行い,重複した定義を削除する.
1027
1028・target_check.tfを作成する.「ターゲット依存部 ポーティングガイド」
1029 7.3節参照.
1030
1031(2) データ型と定数の変更・追加
1032
1033・BOOLをbool_tに,TRUEとFALSEをそれぞれtrueとfalseに変更する.ER_BOOLな
1034 どを変更しないように注意すること.コメント中に記述されたこれらのデー
1035 タ型と定数も変更すること.
1036
1037・charをchar_tに変更する.ただし,文字列定数が記述されることが多い引数
1038 等は,コンパイラの警告を避けるために,char *のままとする.ターゲット
1039 依存部で最低限変更しなければならないのは,以下の2箇所.
1040
1041 - target_fput_logの引数
1042 - sio_snd_chrの第2引数
1043
1044・target_stddef.h(またはそこからインクルードされるファイル)に,サイズ
1045 の指定された浮動小数点型(float32_tとdouble64_t),その最大値・最小値
1046 のマクロの定義を追加する.「ターゲット依存部 ポーティングガイド」3.4
1047 節参照.開発環境がGCCでarch/gcc/tool_stddef.hを用いており,float型と
1048 double型がそれぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点数
1049 である場合には,arch/gcc/tool_stddef.hをインクルードする前に,
1050 TOPPERS_STDFLOAT_TYPE1をマクロ定義すればよい.
1051
1052(3) トレースログ記録のサンプルコードの使用方法に従った修正(オプション)
1053
1054・ターゲット依存部を,トレースログ記録のサンプルコードを使用するように
1055 修正する.「ターゲット依存部 ポーティングガイド」6.11.2節参照.
1056
1057(4) TARGETDIR変数の使用
1058
1059・Makefileのターゲット依存部で,ターゲット依存部ディレクトリを参照して
1060 いる箇所で,$(SRCDIR)/target/$(TARGET)を,$(TARGETDIR)に変更する.
1061
1062----------------------------------------------------------------------
1063
1064 TOPPERS/ASPカーネル
1065 Release 1.0.0 から 1.1.0 への変更点
1066
1067○変更点のリスト
1068
1069・frsm_tskをカーネルから削除.itron.hにマクロ定義として残す
1070
1071・カーネルのトレースログ機能の改修
1072 - トレースログマクロを使う側のファイルで,デフォルト定義を与える.
1073 - nulltraceを廃止.logtraceを修正.
1074 - ターゲット依存部でのトレースログ取得方法を標準化.
1075 - INTHDR_ENTRYとEXCHDR_ENTRYにパラメータを追加.
1076 - target_putcを,target_fput_logにリネーム.
1077
1078・システムログ機能をカーネルから外して,システムサービスの位置付けに
1079 - syslog.c,syslog.h,banner.cを,kernelからsyssvcに移動.
1080 - システムログ機能のサービスコールの名称にsyslog_を付加.
1081
1082・システムサービスのディレクトリの位置付けの明確化
1083 - logtask.hとserial.hを,includeからsyssvcに移動.
1084 - vasyslog.cを,libraryからsyssvcに移動.
1085
1086・リリースパッケージの形態を整備
1087 - utils/makereleaseを作成.utils/genmanifestを削除.
1088 - MANIFESTファイルに,パッケージ名とバージョン番号を記述.
1089 - MANIFESTファイルのINCLUDE記述を変更.
1090
1091・出入口処理の番地の変数/フィールド名の変更
1092 - 割込みハンドラ/CPU例外ハンドラの出入口処理の番地(FP型)の変数/
1093 フィールド名をint_entry/exc_entryに変更.コメントも修正.
1094
1095・DVE68K/M68K依存部の修正.
1096 - target.tf中のエラーメッセージの修正.
1097 - logtraceを使うように修正.
1098
1099・その他の修正.
1100 - 固定長メモリプール初期化ブロックの生成に関するバグを修正.
1101 - configureで,cfgが生成されているかのチェックを厳密化.
1102 - sample/Makefileにおいて,ライブラリに関する依存記述の修正.
1103 - sample/sample1.cfgにおいて,システムサービスの定義順を変更.
1104 - extension/MANIFESTに,MANIFESTを追加.
1105
1106・ドキュメントの充実.コメントの追加・修正.
1107
1108・バージョン番号の更新.
1109
1110○ターゲット依存部の修正箇所(1.0.0 → 1.1.0)
1111
1112・カーネルのトレースログ機能の中で,ターゲット依存部で実装する必要があ
1113 るものを実装する.詳しくは,porting.txtの6.1.2節,6.5.2節,6.6.1節,
1114 6.7.1節を参照すること.
1115
1116・INTHDR_ENTRYとEXCHDR_ENTRYに2番目のパラメータが追加されたのに対応する.
1117
1118・TARGET_NAMEとCOPYRIGHT_TARGETを,target_config.hからtarget_syssvc.hに
1119 移動する.COPYRIGHT_TARGETはTARGET_COPYRIGHTにリネームする.
1120
1121・target_putcをtarget_fput_logにリネームし,その宣言をtarget_config.hか
1122 らtarget_syssvc.hに移動する.関数定義は,target_config.cに置いたまま
1123 でよい.関数宣言・定義の上のコメントを修正する.
1124
1125・割込みハンドラの出入口処理の番地(FP型)の変数/フィールド名をinthdr
1126 からint_entryに,CPU例外ハンドラの出入口処理の番地(FP型)の変数/
1127 フィールド名をexchdrからexct_entryに,それぞれ変更する.これに関連す
1128 るx_define_inhとx_define_excのコメントを修正する.
1129
1130・トレースログを記録しない場合には,target_config.hから「#include
1131 "nulltrace/trace_config.h"」を削除する.
1132
1133・トレースログを記録する場合には,target_syssvc.hに「#include
1134 "logtrace/trace_config.h"」を追加する.また,target_config.h中の
1135 「#include "logtrace/trace_config.h"」の位置を前の方に移動する.
1136
1137・MANIFESTとE_PACKAGEを作成/修正する.MANIFEST中に,必要に応じて,
1138 PACKAGEディレクティブとVERSIONディレクティブを追加する.また,
1139 INCLUDEディレクティブのパラメータを,ディレクトリ名からファイル名に変
1140 更する.ターゲットシステム毎に,E_PACKAGEを作成する.詳しくは,
1141 user.txtの2章とporting.txtの9.1節を参照すること.
1142
1143----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.