source: rtos_arduino/trunk/asp_1.9.2/doc/version.txt@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

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