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

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

ソースを追加

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