source: asp3_wo_tecs/trunk/doc/version.txt@ 302

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

TECSレスのASP3の開発のため以下のtrunkからコピー
http://dev.toppers.jp/svn/asp3/branches/WO_TECS-3.C.0

File size: 18.4 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 変更履歴
4
5 対応バージョン: Release 3.0.0
6 最終更新: 2016年1月10日
7
8このドキュメントは,TOPPERS/ASP3カーネルの変更履歴を,新しい方から順に
9記述したものである.また,TOPPERS/ASPカーネル Release 1.9.1との主な違い
10についても記載している.
11
12----------------------------------------------------------------------
13 TOPPERS/ASP Kernel
14 Toyohashi Open Platform for Embedded Real-Time Systems/
15 Advanced Standard Profile Kernel
16
17 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory
18 Graduate School of Information Science, Nagoya Univ., JAPAN
19
20 上記著作権者
21は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
22 ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
23 変・再é…
24å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
25 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
26 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
27 スコード中に含まれていること.
28 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
29 用できる形で再é…
30å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
31å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
32 者
33マニュアルなど)に,上記の著作権表示,この利用条件および下記
34 の無保証規定を掲載すること.
35 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
36 用できない形で再é…
37å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
38 と.
39 (a) 再é…
40å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
41マニュアルなど)に,上記の著
42 作権表示,この利用条件および下記の無保証規定を掲載すること.
43 (b) 再é…
44å¸ƒã®å½¢æ…
45‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
46 報告すること.
47 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
48 害からも,上記著作権者
49およびTOPPERSプロジェクトをå…
50è²¬ã™ã‚‹ã“と.
51 また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
52 由に基づく請求からも,上記著作権者
53およびTOPPERSプロジェクトを
54 å…
55è²¬ã™ã‚‹ã“と.
56
57 本ソフトウェアは,無保証で提供されているものである.上記著作権者
58お
59 よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
60 に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
61 アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
62 の責任を負わない.
63
64 $Id: version.txt 507 2016-01-12 01:58:33Z ertl-hiro $
65----------------------------------------------------------------------
66
67 TOPPERS/ASP3カーネル
68 Release 3.B.0 から 3.0.0 への主な変更点
69
70○変更点のリスト
71
72・lock_cpu_dsp/unlock_cpu_dspの導å…
73¥
74 - タスクディスパッチできる状æ…
75‹ã«ãŠã„て,CPUロック状æ…
76‹ã«é·ç§»ï¼å¾©å¸°ã•
77 せる関数として,lock_cpu_dsp/unlock_cpu_dspを導å…
78¥ã—た.
79
80・非タスクコンテキストからのディスパッチ要求
81 - 非タスクコンテキストにおいてタスク切換えが必
82要になった場合に,
83 request_dispatchを呼ぶように修正した(ARM Cortex-M対応).
84
85・その他のバグフィックス
86 - 通知ハンドラのための変数にstaticを付けるのをやめる.
87
88・テストプログラムの追加
89 - カーネル性能評価プログラム(5)(perf5)を追加.
90
91・kernel_cfg.h,offset.hへの依存関係の修正
92 - move-if-changeを用いて,不必
93要な再コンパイルが行われないように,
94 Makefileと各テンプレートファイルを修正.
95 - utils/move-if-changeを追加.
96
97・Makefileの修正
98 - 依存関係ファイルを,GCCの-MDオプションを用いて生成するように修正.
99 - APPLDIR,APPL_DIR,SYSSVC_DIR,KERNEL_DIRを,それぞれ,…DIRS(複
100 数形)にリネーム.
101 - DBGENVの廃止.
102 - 不要になった変数等の削除.
103
104・configureの大幅
105な仕様変更
106 - サンプルプログラムを生成する処理を削除.
107 - -uオプションを廃止(-aオプションに統合).
108 - -tオプションと-dオプションの役割を変更.
109 - -cオプション,-Cオプション,-wオプション,-Vオプション,-Gオプショ
110 ンを追加.
111 - perlのプログラムの場所を検索する処理を削除.
112 - コンフィギュレータが用意できているかのチェックを削除.
113
114・その他の修正
115 - OVRTIM型をPRCTIM型にリネーム.
116 - bit_kernel.c,bit_mutex.cを見直し(ASP3対応を考æ…
117®ï¼‰ï¼Ž
118 - test_raster1を,bit_kernelを使用するように修正.
119 - 性能評価プログラムで実行時間分布を表示する際に,システムログ機能
120 のフラッシュを呼ぶのをやめる(低レベル出力を使うので不要).
121 - テストプログラム用サービスの関数定義方法を変更.
122 - トレースログ機能のログ時刻を取り出すマクロ名を変更.
123 - トレースログ機能のモードの扱いの見直し.
124
125・ドキュメントのå…
126…
127実,コメントの修正
128
129・バージョン番号の更新
130 - カーネルのバージョン番号を更新.
131
132○ターゲット依存部の要修正箇所(3.B.0 → 3.0.0)
133
134(1) lock_cpu_dsp/unlock_cpu_dspの定義を追加
135 - lock_cpu_dsp/unlock_cpu_dspの定義を追加する.最適化をしないので
136 あれば,lock_cpu/unlock_cpuに定義すればよい.
137
138(2) request_dispatchの定義を追加
139 - request_dispatchの定義を追加する.標準通りの実装
140の場合は,空に定
141 義すればよい.
142
143(3) OVRTIM型をPRCTIM型にリネーム
144 - ターゲット依存部でOVRTIM型を使っている箇所があれば,PRCTIM型に修
145 正する.
146
147(4) kernel_cfg.hとoffset.hのファイル名
148 - ターゲット依存部のテンプレートファイルで,出力å…
149ˆã‚’kernel_cfg.hか
150 offset.hにするFILE記述があれば,それぞれ,kernel_cfg.h.newと
151 offset.h.newにファイル名を変更する.
152
153(5) ディレクトリを指定する変数名のリネーム
154 - Makefileのターゲット依存部で,APPL_DIR,SYSSVC_DIR,KERNEL_DIRを
155 設定している記述があれば,それぞれ,APPL_DIRS,SYSSVC_DIRS,
156 KERNEL_DIRSにリネームする.
157
158(6) 開発環境依存のコンパイルオプション
159 - Makefileのターゲット依存部で,DBGENVを設定している記述があれば,
160 COPTSを用いた設定に変更する.
161
162----------------------------------------------------------------------
163
164 TOPPERS/ASP3カーネル
165 Release 3.A.0 から 3.B.0 への主な変更点
166
167○変更点のリスト
168
169・周期ハンドラ機能とアラームハンドラ機能を,周期通知機能とアラーム通知
170 機能に拡張
171
172・有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優å…
173ˆ
174 度をターゲット依存部で定義する方法の変更
175
176・delay_for_interruptの導å…
177¥
178 - 一時的にCPUロック状æ…
179‹ã‚’解除する時に,割込みが受け付けられるように
180 するための関数として,delay_for_interruptを呼び出すようにした.
181
182・テストプログラム用ライブラリの修正
183 - テストプログラム用サービスの位置付けとし,ファイル名とディレクト
184 リを変更.
185 - test_finishはサービスの内
186部関数とし,外部からはcheck_finish(0U)を
187 呼ぶように変更(保護機能対応カーネルを考æ…
188®ã—た修正).
189 - check_stateから,check_ipmを分離.check_state_iを廃止.
190 - syslog_flushを,syslog_fls_logとリネームし,システムログ機能のサー
191 ビスコールと位置付けることに.
192
193・実行時間分布集計モジュールの修正
194 - 実行時間分布集計サービスの位置付けとし,ディレクトリを変更.
195 - print_histで,ログ情
196報の出力関数をパラメータとして渡すように変更.
197
198・テストプログラムの追加
199 - 通知処理のテスト(1)(test_notify1)を追加.
200 - ドリフト調整機能拡張パッケージにドリフト調整機能のテスト(1)
201 (test_drift1)を追加.
202
203・その他のバグフィックス
204 - トレースログ記録のサンプルコードの修正(SYSLOG型の変更への追従漏れ).
205 - test_cpuexc10.cのチェック値の誤りの修正.
206 - makereleaseのエラーチェックコードの修正.
207
208・その他の修正
209 - LOG_DSP_ENTERの呼出し箇所を変更した(ポーティングガイド).
210 - USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法を変更した.
211 - CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換えた.
212 - kernel_chk.tfのリファクタリング.
213 - ヘッダファイルが自己完結するように修正.
214 - インクルード記述の方法を変更.
215 - syslog_ref_logの出口のログ出力マクロ(LOG_SYSLOG_REF_LOG_LEAVE)
216 のパラメータにエラーコードを追加.
217 - MakefileにおけるLDFLAGSの意味を変更.
218 - trace_config.cfgを追加.
219
220・ドキュメントのå…
221…
222実,コメントの修正
223
224・バージョン番号の更新
225 - カーネルのバージョン番号を更新.
226
227○ターゲット依存部の要修正箇所(3.A.0 → 3.B.0)
228
229(1) CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの追加
230 - 必
231要であれば,CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの定義を追
232 加する.
233
234(2) 有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優
235 å…
236ˆåº¦ã®å®šç¾©æ–¹æ³•ã®å¤‰æ›´
237 - VALID_INTNOを用意する(必
238要ない場合もある).
239 - VALID_INTNO_DISINT/VALID_INTNO_CREISRの定義がVALID_INTNOと一致し
240 ていれば,定義を削除する.
241 - VALID_INTNO_CFGINTをVALID_INTNOに,INTNO_CFGINT_VALIDをINTNO_VALIDに,
242 それぞれ置き換える.
243 - VALID_INHNO_DEFINHをVALID_INHNOに,INHNO_DEFINH_VALIDをINHNO_VALIDに,
244 それぞれ置き換える.
245 - VALID_EXCNO_DEFEXCをVALID_EXCNOに,EXCNO_DEFEXC_VALIDをEXCNO_VALIDに,
246 それぞれ置き換える.
247 - INTNO_CREISR_VALID/INHNO_CREISR_VALIDの定義が,それぞれINTNO_VALID/
248 INHNO_VALIDと一致していれば,定義を削除する.
249 - INTPRI_CFGINT_VALIDの定義が標準通りでよい場合には,定義を削除する.
250
251(3) MakefileにおけるLDFLAGSの意味の変更
252 - これまで,LDFLAGSはカーネルのリンク時にのみ適用され,cfg1_out.cの
253 リンク時には適用されなかったが,その両方に適用されるようになった.
254 そのため,両者
255のリンク時に必
256要なオプションは,LDFLAGSに追加すれば,
257 CFG1_OUT_LDFLAGSには追加しなくてよくなった.一方,カーネルのリン
258 ク時のみに適用したいオプションは,OBJ_LDFLAGSに追加する.
259
260(4) delay_for_interruptの追加
261 - delay_for_interruptの実装
262を追加する.
263
264(5) USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法の変更
265 - コンフィギュレータのパス2のテンプレートファイルのターゲット依存部
266 で,USE_INHINIB_TABLE/USE_INTINIB_TABLEを設定していた場合には,
267 カーネルのターゲット依存部でのマクロ定義に変更する.また,ターゲッ
268 ト依存部で定義していたINHINIB/INTINIBを,必
269要に応じて削除する.
270
271(6) CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換え
272 - PREPARE_RETURN_CPUEXCの定義を追加する.CANNOT_RETURN_CPUEXCが定義
273 されていた場合には,PREPARE_RETURN_CPUEXCを定義しない.
274
275(7) LOG_DSP_ENTERの呼出し箇所を変更に対応
276 - ポーティングガイドにおいて,LOG_DSP_ENTERの呼出し箇所を変更し,
277 dispatcher_0のラベルを設けたのに対応する(本質的には同じことなの
278 で,コードを修正しなくても問題ない).
279
280(8) インクルード記述の方法の変更に対応
281 - 開発環境/プロセッサコア/チップ依存部ディレクトリに置かれている
282 ヘッダファイルのインクルード方法を変更する.詳しくは,「ターゲッ
283 ト依存部 ポーティングガイド」の「1.4 インクルード記述の方法」の節
284 を参ç…
285§ã™ã‚‹ã“と.
286
287----------------------------------------------------------------------
288
289 TOPPERS/ASP3カーネル
290 Release 1.9.1 から 3.A.0 への主な変更点
291
292○主な変更点のリスト
293
294※ 以下の変更点のリストは,主なもののみをリストアップしたものであり,網
295 羅
296的なリストではない.
297
298・機能の追加/廃止
299 - ミューテックス機能を標準パッケージに追加(一部機能制限あり).
300 - タスク例外処理機能を廃止し,タスク終了要求機能を追加.
301 - メールボックス機能を廃止.
302 - システム時刻の調整機能と設定機能を追加.
303 - 起動要求をキューイングしないタスクを追加.
304 - タスクとスケジューリング状æ…
305‹ã®å‚ç…
306§æ©Ÿèƒ½ã‚’追加.
307
308・拡張パッケージの追加/廃止
309 - ドリフト調整機能拡張パッケージを追加.
310 - サブ優å…
311ˆåº¦æ©Ÿèƒ½æ‹¡å¼µãƒ‘ッケージを追加.
312 - ミューテックス機能拡張パッケージを廃止(標準パッケージに).
313
314・仕様の変更
315 - SIZE型をsize_t型に変更.
316 - システム時刻,相対時間,タイムアウト時間の時間単位を,マイクロ秒
317 に変更.システム時刻のサイズを64ビットに変更.相対時間とタイムア
318 ウト時間のサイズを32ビットと規定.タイムアウト時間を符号無し整数
319 型に変更.
320 - サービスコール名が"i"で始まる非タスクコンテキスト専用のサービスコー
321 ルを廃止し,非タスクコンテキストからもタスクコンテキストと同じ名
322 称のサービスコールを呼び出せるように.
323 - ena_intとena_intを,非タスクコンテキストから呼び出せるように.
324 - ATT_ISRを廃止して,CRE_ISRを追加.
325 - get_utmを廃止して,fch_hrtを追加.
326 - 割込みサービスルーチンとタイムイベントハンドラの実行開始/リター
327 ン時の割込み優å…
328ˆåº¦ãƒžã‚¹ã‚¯ã®æ‰±ã„を変更.
329
330・タイムイベント処理のティックレス化
331 - タイムイベント処理モジュールをå…
332¨é¢çš„に修正.
333
334・スケジューラの実装
335の変更
336 - アイドル処理の実装
337方法を変更(主にターゲット依存部).
338 - reqflgとipmflgを廃止.disdspをenadspに変更.
339 - スケジューラの関数が,ディスパッチの要否を返すのをやめた.
340 - p_schedtskの意味を,最高優å…
341ˆé †ä½ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰ï¼Œå®Ÿè¡Œã™ã¹ãã‚¿ã‚¹ã‚¯ã«
342 変更(ディスパッチ保留状æ…
343‹ã§ã®æ‰±ã„が異なる).
344
345・その他の実装
346の変更
347 - kernel.tfを,機能モジュール毎に分割.
348 - 静的エラーのチェック方法(CHECKマクロの構成)を変更.
349 - サービスコールの出口ログマクロのパラメータを変更.
350 - lock_cpu/unlock_cpu/sense_lockを,タスクコンテキスト用と非タス
351 クコンテキスト用で別々
352に用意するのをやめた.
353 - TCB中での待
354ち状æ…
355‹ã®è¡¨ç¾æ–¹æ³•ã‚’変更.
356 - WINFO_FLG中のwaiptnとflgptnをå…
357±ç”¨ï¼ˆflgptnを廃止).
358 - WINFO_SDTQとWINFO_RDTQを区別して扱うように修正.
359
360・バージョン番号の更新
361 - カーネルのバージョン番号を更新.
362
363○ターゲット依存部の主な要修正箇所(1.9.0 → 3.A.0)
364
365(1) target_config.[hc]を,target_kernel_impl.[hc]にリネーム
366
367(2) オフセットファイルの生成方法の変更
368 - target_cfg1_out.hに,TCBのデータ定義が含まれている場合には,新し
369 いTCBの構造に合わせて修正する.
370 - オフセットファイル(offset.h)を,makeoffset.cとgenoffsetを用いて
371 生成している場合には,コンフィギュレータを用いる方法に変更する.
372
373(3) メモリ領域をサイズを表すデータ型の変更
374 - t_stddef.hに,size_t型の定義が含まれるようにする.
375 - TOPPERS_sizeの定義を削除する.
376 - SIZE型を使っているところを,size_t型に変更する.
377
378(4) コンテキスト依存で呼び出す関数の変更
379 - x_lock_cpu/x_unlock_cpu/x_sense_lock/x_disable_int/x_enable_int/
380 x_clear_int/x_probe_intを,"x_"を外した名前に変更する.これらの
381 関数に対応する"t_"または"i_"で始まる関数は削除する.
382 - x_define_inh/x_config_int/x_define_excを使用している場合には,
383 これらを,"x_"を外した名前に変更する.
384 - x_set_ipm/i_set_ipm/x_get_ipm/i_get_ipmを削除する("t_"で始ま
385 る関数は残す).
386 - i_begin_intとi_end_intを削除する.
387
388(5) ディスパッチャ本体の変更
389 - dispatcher中のアイドル処理の実装
390を変更する.
391 - log_dsp_enterを呼ぶ処理を,ディスパッチャ本体から,それを呼ぶ処理
392 の側(dispatch,exit_and_dispatch,割込みの出å…
393¥å£å‡¦ç†ï¼ŒCPU例外の
394 出å…
395¥å£å‡¦ç†ï¼‰ã«ç§»å‹•ã™ã‚‹ï¼Ž
396
397(6) ディスパッチャの動作開始処理の変更
398 - start_dispatchに,スタックをIDが1のタスクのスタック領域に切り換え
399 る処理を追加する.
400
401(7) 割込みハンドラ/CPU例外ハンドラの出å…
402¥å£å‡¦ç†ã®å¤‰æ›´
403 - reqflgの廃止に対応する.
404 - タスク切換えの条件判定で,dspflgをチェックする必
405要がなくなったこ
406 とに対応する.
407 - アイドル処理の実装
408変更により,ret_int/ret_excからのタスク切換え
409 において,p_runtskがNULLとなっている状況を考える必
410要が生じたこと
411 に対応する.
412
413(8) テンプレートファイル変数の変更
414 - INTNO_ATTISR_VALIDとINHNO_ATTISR_VALIDを,INTNO_CREISR_VALIDと
415 INHNO_CREISR_VALIDに変更する.
416
417(9) 高分解能タイマドライバの実装
418
419 - ティックベースのタイマドライバを削除し,高分解能タイマドライバを
420 実装
421する.
422
423----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.