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

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

3.1.0を反映

File size: 29.2 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 変更履歴
4
5 対応バージョン: Release 3.1.0
6 最終更新: 2016年5月15日
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 752 2016-05-14 15:06:22Z ertl-hiro $
65----------------------------------------------------------------------
66
67 TOPPERS/ASP3カーネル
68 Release 3.0.1 から 3.1.0 への主な変更点
69
70○変更点のリスト
71
72・静的APIのパラメータの省略
73 - CRE_TSKのstk,CRE_DTQのdtqmb,CRE_PDQのpdqmb,CRE_MBFのmbfmb,
74 CRE_MPFのmpfとmpfmb,DEF_ICSのistkの記述を省略可能にした.
75
76・コンフィギュレータの仕様変更に対応
77 - StrValクラスをNumStrクラスに置き換えたことに対応.
78 - シンボル取得シンボルテーブルでbool型をサポートしたのを活用するよ
79 うに変更.
80 - シンボル取得シンボルテーブルにより取得した値を,StrValクラスのオ
81 ブジェクトにしてグローバル変数に設定していたのを,値のままで設定
82 するように変更したのに対応.
83 - 一般定数式パラメータの値を,(StrValクラスではなく)Stringクラス
84 のオブジェクトで保持するように変更したのに対応.
85
86・動的生成機能拡張パッケージの修正
87 - acre_yyyで,パケットの内
88容をローカル変数にコピーするように修正.
89 - DEF_KMMのkmmパラメータを省略可能に.
90
91・バグフィックス
92 - コンフィギュレータのパス3で,オブジェクトのID番号の割付けを外部か
93 ら取り込んでいる場合に対応.
94 - test_dlynse.cを,TCYC_HRTCNTが定義されている場合に対応.
95 - bit_kernel.cのを,p_schedtskとdspflgの整合性を検査するように修正.
96 - 静的APIのパラメータ末に改行がある場合の不å…
97·åˆã‚’修正.
98
99・ARMコア依存部の修正
100 - GR-PEACH向けのターゲット依存部と,RZ/Aシリーズのチップ向けのコア
101 依存部を追加.
102 - スタックポインタを8バイト境界でアラインさせるように修正.
103 - sil_dly_nseを,分岐予測がある場合に対応できるように修正.
104 - ベクタテーブルを置くセクション名を".vector"に変更.32バイト境界で
105 アラインさせるように修正.
106
107・テストプログラムの修正
108 - 時間パラメータを,TEST_TIME_CPとTEST_TIME_PROCを用いて記述.
109 - test_dlynse.cを,TCYC_HRTCNTを参ç…
110§ã™ã‚‹ã‚ˆã†ã«ä¿®æ­£ï¼Ž
111
112・サンプルプログラムの修正
113 - 割込みの動作確認を行えるように修正(ターゲット依存).
114
115・その他の修正
116 - kernel_impl.hからCASTマクロの定義を削除.
117 - コンフィギュレータのパス3で,最適化により変数がなくなるケースに対
118 応.
119 - 符号無しのパラメータのエラーチェックを,0以下でチェックするのでは
120 なく,0との一致でチェックするように修正.
121 - 生成スクリプトの記述スタイルの修正.
122 - テストがエラーになった時に'\007'を出力するように修正.
123 - libkernel.aのリンク方法を変更(HRP3の都合).
124 - gentest.rbの改善.
125
126・ドキュメントのå…
127…
128実,コメントの修正
129
130・バージョン番号の更新
131 - カーネルのバージョン番号を更新.
132
133○ターゲット依存部の要修正箇所(3.0.1 → 3.1.0)
134
135(1) コンフィギュレータの仕様変更に対応
136 - StrValクラスをNumStrクラスに置き換えたことに対応する.
137 - シンボル取得シンボルテーブルでbool型をサポートしたことに伴い,
138 bool型で取得するように変更したシンボルについて,生成スクリプト内
139
140 で参ç…
141§ã—ている箇所を修正する.例えば,「$SYMBOL == 1」により定義
142 の有無をチェックしている場合には,単に「$SYMBOL」に変更する.
143 - シンボル取得シンボルテーブルにより取得した値を,StrValクラスのオ
144 ブジェクトにしてグローバル変数に設定していたのを,値のままで設定
145 するように変更したのに対応する.
146 - 一般定数式パラメータの値を,(StrValクラスではなく)Stringクラス
147 のオブジェクトで保持するように変更したのに対応する.
148 - $bLittleEndianを参ç…
149§ã—ていれば,$endianLittleに変更する.
150
151(2) CASTマクロの定義方法の変更への対応
152 - CASTマクロを使用しているヘッダファイルのå…
153ˆé ­ã«ï¼ŒCASTマクロの定義
154 を含める.
155
156(3) テストプログラムの時間パラメータの変更への対応
157 - 必
158要であれば,target_test.hに,TEST_TIME_CPとTEST_TIME_PROCの定義
159 を含める(TEST_TIME_CPのデフォルトは,長めの時間になっている).
160
161(4) init_tskinictxb関数のパラメータの変更への対応
162 - ターゲット依存部でTSKINICTXBを定義しており,動的生成機能拡張パッ
163 ケージをサポートする場合には,init_tskinictxb関数のパラメータの変
164 更に対応する.
165
166(5)ï¼»ARM依存部]コアå…
167±é€šéƒ¨ã®ä¿®æ­£ã¸ã®å¯¾å¿œ
168 - irc_begin_int/excからirc_end_int/excに情
169報を渡す方法を変更する(1
170 ワードであれば,スタックのå…
171ˆé ­ã‚’使うことができる).また,スタッ
172 クポインタを8バイト境界でアラインさせるように修正する.
173 - ベクタテーブルを置くセクション名を".vector"に変更したのに対応する.
174 - sil_dly_nseのパラメータを再調整する.
175
176----------------------------------------------------------------------
177
178 TOPPERS/ASP3カーネル
179 Release 3.0.0 から 3.0.1 への主な変更点
180
181○変更点のリスト
182
183・コンフィギュレータの修正
184 - BCOPYの不å…
185·åˆã‚’修正(SRecordクラスの実装
186を改良).
187 - エラーメッセージの修正.
188 - DOMAIN記述とCLASS記述を受け付けるように修正(ASP3カーネルには関係
189 なし).
190 - エラーメッセージの展開機能を活用した記述に修正.
191
192・TECS関連の修正
193 - 変数名の修正(dataqueueSentValue).
194 - tTimeEventHandlerのアダプタ関数を,プラグインで生成するようにした
195 ことに対応.tTimeEventHandler.cを削除.
196
197・バグフィックス
198 - kernel_check.trbのLMAからVMAへのコピーの不å…
199·åˆã®ä¿®æ­£ï¼Ž
200 - コンフィギュレータのエラー出力コードの不å…
201·åˆã®ä¿®æ­£ï¼Ž
202 - コンフィギュレータが出力するエラーコードの誤りの修正.
203
204・その他の修正
205 - GetStackTskinictxbの第3パラメータに,タスク初期化ブロックのå…
206ˆé ­ç•ª
207 地を渡すように修正.
208
209・バージョン番号の更新
210 - カーネルのバージョン番号を更新.
211
212○ターゲット依存部の要修正箇所(3.0.0 → 3.0.1)
213
214(1) GetStackTskinictxbの修正
215 - ターゲット依存部でGetStackTskinictxbを定義していれば,第3パラメー
216 タを受け取るように修正する.
217
218----------------------------------------------------------------------
219
220 TOPPERS/ASP3カーネル
221 Release 3.B.0 から 3.0.0 への主な変更点
222
223○変更点のリスト
224
225・TECSの導å…
226¥
227 - システムサービスを,TECSを用いて構築.
228 - システムログ機能でログの出力å…
229ˆã®åˆæœŸå€¤ã‚’組み上げ記述で指定できる
230 ようにし,デフォルトの設定値を変更.ログタスクの起動時に設定する
231 のをやめる.
232 - トレースログ記録のサンプルコードのTECS化に伴い,ディレクトリを
233 arch/tracelogに変更.
234
235・Ruby版コンフィギュレータの導å…
236¥
237 - すべてのテンプレートファイルを,Rubyで記述された生成スクリプトに
238 置き換えた.
239 - kernel_api.csvをkernel_api.defにリネームし,フォーマットを変更.
240 - kernel_def.csvをkernel_sym.defにリネームし,フォーマットを変更.
241 - Makefileの変更(依存関係やルールの整理も実施).
242 - サンプルプログラムおよびテストプログラムのシステムコンフィギュレー
243 ションファイルから,kernel_timer.cfgのインクルードを削除(Makefile
244 側で対応した).
245 - --external-idを廃止.コンパイルオプションで同じことができるように
246 修正.
247
248・変数のインクリメントによるイベント/エラー通知の追加
249
250・lock_cpu_dsp/unlock_cpu_dspの導å…
251¥
252 - タスクディスパッチできる状æ…
253‹ã«ãŠã„て,CPUロック状æ…
254‹ã«é·ç§»ï¼å¾©å¸°ã•
255 せる関数として,lock_cpu_dsp/unlock_cpu_dspを導å…
256¥ã—た.
257
258・非タスクコンテキストからのディスパッチ要求
259 - 非タスクコンテキストにおいてタスク切換えが必
260要になった場合に,
261 request_dispatchを呼ぶように修正した(ARM Cortex-M対応).
262
263・タイムイベント管理の改良(HRP3カーネルとの整合性のため)
264 - タイムイベントヒープ中での位置の表現を,インデックスからポインタ
265 に変更.
266 - タイムイベントの発生時刻を,タイムイベントブロック中に持つように
267 変更.
268
269・バグフィックス
270 - 通知ハンドラのための変数にstaticを付けるのをやめる.
271
272・テストプログラムの追加
273 - イベントフラグ機能のテスト(1)(flg1)を追加.
274 - データキュー機能のテスト(1)(dtq1)を追加.
275 - カーネル性能評価プログラム(5)(perf5)を追加.
276
277・kernel_cfg.h,offset.hへの依存関係の修正
278 - move-if-changeを用いて,不必
279要な再コンパイルが行われないように,
280 Makefileと各テンプレートファイルを修正.
281 - utils/move-if-changeを追加.
282
283・Makefileの修正
284 - 依存関係ファイルを,GCCの-MDオプションを用いて生成するように修正.
285 - APPLDIR,APPL_DIR,SYSSVC_DIR,KERNEL_DIRを,それぞれ,…DIRS(複
286 数形)にリネーム.
287 - DEVTOOLDIRの新設.
288 - SYSSVC_LIBSの廃止.
289 - DBGENVの廃止.
290 - 不要になった変数等の削除.
291
292・ユーティリティのRuby化
293 - コンフィギュレーションスクリプト(configure)と4つのユーティリティ
294 プログラムを,PerlからRubyにポーティング.
295
296・コンフィギュレーションスクリプト(configure.rb)の大幅
297な仕様変更
298 - サンプルプログラムを生成する処理を削除.
299 - パラメータからシンボル定義を取り込む機能を追加.
300 - -uオプションを廃止(-aオプションに統合).
301 - -tオプションと-dオプションの役割を変更.
302 - -cオプション,-Cオプション,-wオプション,-Vオプション,-Gオプショ
303 ンを追加.
304 - -pオプション,-Pオプションを廃止.
305 - コンフィギュレータが用意できているかのチェックを削除.
306
307・その他の修正
308 - OVRTIM型をPRCTIM型にリネーム.
309 - コンフィギュレータのエラーメッセージの修正.
310 - bit_kernel.c,bit_mutex.cを見直し(ASP3対応を考æ…
311®ï¼Žã‚¿ã‚¹ã‚¯å„ªå…
312ˆåº¦æ‹¡
313 張パッケージに対応).
314 - test_raster1を,bit_kernelを使用するように修正.
315 - 性能評価プログラムで実行時間分布を表示する際に,システムログ機能
316 のフラッシュを呼ぶのをやめる(低レベル出力を使うので不要).
317 - テストプログラム用サービスの関数定義方法を変更.
318 - オーバランハンドラ拡張パッケージのテストプログラムの修正.
319 - トレースログ機能のログ時刻を取り出すマクロ名を変更.
320 - トレースログ機能のモードの扱いの見直し.
321 - TOPPERS_LABEL_ASMの廃止.
322
323・ドキュメントのå…
324…
325実,コメントの修正
326 - マイグレーションガイド(migration.txt)を追加.
327
328・バージョン番号の更新
329 - カーネルのバージョン番号を更新.
330
331○ターゲット依存部の要修正箇所(3.B.0 → 3.0.0)
332
333(1) TECSの導å…
334¥ã¸ã®å¯¾å¿œ
335 - ポーティングガイドの8章を参ç…
336§ã—,システムサービスのターゲット依
337 存部の実装
338をå…
339¨é¢çš„に見直す(システムログの低レベル出力のための文
340 字出力関数がカーネル実装
341のターゲット依存モジュールに記述されてい
342 た場合,削除するのを忘れないようにすること).
343 - ポーティングガイドの6.11節を参ç…
344§ã—,トレースログ記録のサンプルコー
345 ドに関する設定を見直す.
346
347(2) Ruby版コンフィギュレータの導å…
348¥ã¸ã®å¯¾å¿œ
349 - ターゲット依存部のテンプレートファイル(tfファイル)を,Rubyで記
350 述された生成スクリプトに置き換える(trbファイル).その際に,
351 target.tfに対応するファイルの名前は,target_kernel.trbとする.
352 - target_def.csvをtarget_sym.defにリネームし,フォーマットを変更す
353 る.
354 - target_kernel.cfgを作成する(ASP3カーネルでは,target_timer.cfgを
355 インクルードするだけの内
356容になる).
357 - Makefileのターゲット依存部の--cfg1-def-tableオプションを,
358 --symval-tableオプションに変更する(指定するファイルも変更).
359 - Makefileのターゲット依存部で,OFFSET_TF,TARGET_TF,
360 TERGET_CHECK_TFを設定している記述があれば,それぞれ,OFFSET_TRB,
361 TARGET_KERNEL_TRB,TARGET_CHECK_TRBに変更する(指定するファイルも
362 変更).また,必
363要に応じて,TARGET_KERNEL_CFGの設定を追加する.
364
365(3) lock_cpu_dsp/unlock_cpu_dspの定義を追加
366 - lock_cpu_dsp/unlock_cpu_dspの定義を追加する.最適化をしないので
367 あれば,lock_cpu/unlock_cpuに定義すればよい.
368
369(4) request_dispatchの定義を追加
370 - request_dispatchの定義を追加する.標準通りの実装
371の場合は,空に定
372 義すればよい.
373
374(5) OVRTIM型をPRCTIM型にリネーム
375 - ターゲット依存部でOVRTIM型を使っている箇所があれば,PRCTIM型に修
376 正する.
377
378(6) Makefileのターゲット依存部の修正
379 - APPL_DIR,SYSSVC_DIR,KERNEL_DIRを設定している記述があれば,それ
380 ぞれ,APPL_DIRS,SYSSVC_DIRS,KERNEL_DIRSにリネームする.
381 - SYSSVC_LIBSを使用していれば,LIBSを使用するように修正する.
382 - 依存関係を作成するルールを削除する.
383
384(7) 開発環境依存のコンパイルオプション
385 - Makefileのターゲット依存部で,DBGENVを設定している記述があれば,
386 COPTSを用いた設定に変更する.
387
388(8) TOPPERS_LABEL_ASMの廃止への対応
389 - アセンブリ言語レベルの識別名が,C言語レベルの識別名のå…
390ˆé ­ã«"_"が
391 付いたものになる場合,アセンブリ言語で定義/参ç…
392§ã™ã‚‹é–¢æ•°ã‚„変数な
393 どについて,ターゲット依存部のリネーム記述にリストアップする.
394
395----------------------------------------------------------------------
396
397 TOPPERS/ASP3カーネル
398 Release 3.A.0 から 3.B.0 への主な変更点
399
400○変更点のリスト
401
402・周期ハンドラ機能とアラームハンドラ機能を,周期通知機能とアラーム通知
403 機能に拡張
404
405・有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優å…
406ˆ
407 度をターゲット依存部で定義する方法の変更
408
409・delay_for_interruptの導å…
410¥
411 - 一時的にCPUロック状æ…
412‹ã‚’解除する時に,割込みが受け付けられるように
413 するための関数として,delay_for_interruptを呼び出すようにした.
414
415・テストプログラム用ライブラリの修正
416 - テストプログラム用サービスの位置付けとし,ファイル名とディレクト
417 リを変更.
418 - test_finishはサービスの内
419部関数とし,外部からはcheck_finish(0U)を
420 呼ぶように変更(保護機能対応カーネルを考æ…
421®ã—た修正).
422 - check_stateから,check_ipmを分離.check_state_iを廃止.
423 - syslog_flushを,syslog_fls_logとリネームし,システムログ機能のサー
424 ビスコールと位置付けることに.
425
426・実行時間分布集計モジュールの修正
427 - 実行時間分布集計サービスの位置付けとし,ディレクトリを変更.
428 - print_histで,ログ情
429報の出力関数をパラメータとして渡すように変更.
430
431・テストプログラムの追加
432 - 通知処理のテスト(1)(test_notify1)を追加.
433 - ドリフト調整機能拡張パッケージにドリフト調整機能のテスト(1)
434 (test_drift1)を追加.
435
436・その他のバグフィックス
437 - トレースログ記録のサンプルコードの修正(SYSLOG型の変更への追従漏れ).
438 - test_cpuexc10.cのチェック値の誤りの修正.
439 - makereleaseのエラーチェックコードの修正.
440
441・その他の修正
442 - LOG_DSP_ENTERの呼出し箇所を変更した(ポーティングガイド).
443 - USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法を変更した.
444 - CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換えた.
445 - kernel_chk.tfのリファクタリング.
446 - ヘッダファイルが自己完結するように修正.
447 - インクルード記述の方法を変更.
448 - syslog_ref_logの出口のログ出力マクロ(LOG_SYSLOG_REF_LOG_LEAVE)
449 のパラメータにエラーコードを追加.
450 - MakefileにおけるLDFLAGSの意味を変更.
451 - trace_config.cfgを追加.
452
453・ドキュメントのå…
454…
455実,コメントの修正
456
457・バージョン番号の更新
458 - カーネルのバージョン番号を更新.
459
460○ターゲット依存部の要修正箇所(3.A.0 → 3.B.0)
461
462(1) CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの追加
463 - 必
464要であれば,CHECK_INTPTR_ALIGNとCHECK_INTPTR_NONNULLの定義を追
465 加する.
466
467(2) 有効な割込み番号,割込みハンドラ番号,CPU例外ハンドラ番号,割込み優
468 å…
469ˆåº¦ã®å®šç¾©æ–¹æ³•ã®å¤‰æ›´
470 - VALID_INTNOを用意する(必
471要ない場合もある).
472 - VALID_INTNO_DISINT/VALID_INTNO_CREISRの定義がVALID_INTNOと一致し
473 ていれば,定義を削除する.
474 - VALID_INTNO_CFGINTをVALID_INTNOに,INTNO_CFGINT_VALIDをINTNO_VALIDに,
475 それぞれ置き換える.
476 - VALID_INHNO_DEFINHをVALID_INHNOに,INHNO_DEFINH_VALIDをINHNO_VALIDに,
477 それぞれ置き換える.
478 - VALID_EXCNO_DEFEXCをVALID_EXCNOに,EXCNO_DEFEXC_VALIDをEXCNO_VALIDに,
479 それぞれ置き換える.
480 - INTNO_CREISR_VALID/INHNO_CREISR_VALIDの定義が,それぞれINTNO_VALID/
481 INHNO_VALIDと一致していれば,定義を削除する.
482 - INTPRI_CFGINT_VALIDの定義が標準通りでよい場合には,定義を削除する.
483
484(3) MakefileにおけるLDFLAGSの意味の変更
485 - これまで,LDFLAGSはカーネルのリンク時にのみ適用され,cfg1_out.cの
486 リンク時には適用されなかったが,その両方に適用されるようになった.
487 そのため,両者
488のリンク時に必
489要なオプションは,LDFLAGSに追加すれば,
490 CFG1_OUT_LDFLAGSには追加しなくてよくなった.一方,カーネルのリン
491 ク時のみに適用したいオプションは,OBJ_LDFLAGSに追加する.
492
493(4) delay_for_interruptの追加
494 - delay_for_interruptの実装
495を追加する.
496
497(5) USE_INHINIB_TABLEとUSE_INTINIB_TABLEの定義方法の変更
498 - コンフィギュレータのパス2のテンプレートファイルのターゲット依存部
499 で,USE_INHINIB_TABLE/USE_INTINIB_TABLEを設定していた場合には,
500 カーネルのターゲット依存部でのマクロ定義に変更する.また,ターゲッ
501 ト依存部で定義していたINHINIB/INTINIBを,必
502要に応じて削除する.
503
504(6) CANNOT_RETURN_CPUEXCをPREPARE_RETURN_CPUEXCに置き換え
505 - PREPARE_RETURN_CPUEXCの定義を追加する.CANNOT_RETURN_CPUEXCが定義
506 されていた場合には,PREPARE_RETURN_CPUEXCを定義しない.
507
508(7) LOG_DSP_ENTERの呼出し箇所を変更に対応
509 - ポーティングガイドにおいて,LOG_DSP_ENTERの呼出し箇所を変更し,
510 dispatcher_0のラベルを設けたのに対応する(本質的には同じことなの
511 で,コードを修正しなくても問題ない).
512
513(8) インクルード記述の方法の変更に対応
514 - 開発環境/プロセッサコア/チップ依存部ディレクトリに置かれている
515 ヘッダファイルのインクルード方法を変更する.詳しくは,「ターゲッ
516 ト依存部 ポーティングガイド」の「1.4 インクルード記述の方法」の節
517 を参ç…
518§ã™ã‚‹ã“と.
519
520----------------------------------------------------------------------
521
522 TOPPERS/ASP3カーネル
523 Release 1.9.1 から 3.A.0 への主な変更点
524
525○主な変更点のリスト
526
527※ 以下の変更点のリストは,主なもののみをリストアップしたものであり,網
528 羅
529的なリストではない.
530
531・機能の追加/廃止
532 - ミューテックス機能を標準パッケージに追加(一部機能制限あり).
533 - タスク例外処理機能を廃止し,タスク終了要求機能を追加.
534 - メールボックス機能を廃止.
535 - システム時刻の調整機能と設定機能を追加.
536 - 起動要求をキューイングしないタスクを追加.
537 - タスクとスケジューリング状æ…
538‹ã®å‚ç…
539§æ©Ÿèƒ½ã‚’追加.
540
541・拡張パッケージの追加/廃止
542 - ドリフト調整機能拡張パッケージを追加.
543 - サブ優å…
544ˆåº¦æ©Ÿèƒ½æ‹¡å¼µãƒ‘ッケージを追加.
545 - ミューテックス機能拡張パッケージを廃止(標準パッケージに).
546
547・仕様の変更
548 - SIZE型をsize_t型に変更.
549 - システム時刻,相対時間,タイムアウト時間の時間単位を,マイクロ秒
550 に変更.システム時刻のサイズを64ビットに変更.相対時間とタイムア
551 ウト時間のサイズを32ビットと規定.タイムアウト時間を符号無し整数
552 型に変更.
553 - サービスコール名が"i"で始まる非タスクコンテキスト専用のサービスコー
554 ルを廃止し,非タスクコンテキストからもタスクコンテキストと同じ名
555 称のサービスコールを呼び出せるように.
556 - ena_intとena_intを,非タスクコンテキストから呼び出せるように.
557 - ATT_ISRを廃止して,CRE_ISRを追加.
558 - get_utmを廃止して,fch_hrtを追加.
559 - 割込みサービスルーチンとタイムイベントハンドラの実行開始/リター
560 ン時の割込み優å…
561ˆåº¦ãƒžã‚¹ã‚¯ã®æ‰±ã„を変更.
562
563・タイムイベント処理のティックレス化
564 - タイムイベント処理モジュールをå…
565¨é¢çš„に修正.
566
567・スケジューラの実装
568の変更
569 - アイドル処理の実装
570方法を変更(主にターゲット依存部).
571 - reqflgとipmflgを廃止.disdspをenadspに変更.
572 - スケジューラの関数が,ディスパッチの要否を返すのをやめた.
573 - p_schedtskの意味を,最高優å…
574ˆé †ä½ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰ï¼Œå®Ÿè¡Œã™ã¹ãã‚¿ã‚¹ã‚¯ã«
575 変更(ディスパッチ保留状æ…
576‹ã§ã®æ‰±ã„が異なる).
577
578・その他の実装
579の変更
580 - kernel.tfを,機能モジュール毎に分割.
581 - 静的エラーのチェック方法(CHECKマクロの構成)を変更.
582 - サービスコールの出口ログマクロのパラメータを変更.
583 - lock_cpu/unlock_cpu/sense_lockを,タスクコンテキスト用と非タス
584 クコンテキスト用で別々
585に用意するのをやめた.
586 - TCB中での待
587ち状æ…
588‹ã®è¡¨ç¾æ–¹æ³•ã‚’変更.
589 - WINFO_FLG中のwaiptnとflgptnをå…
590±ç”¨ï¼ˆflgptnを廃止).
591 - WINFO_SDTQ/SPDQとWINFO_RDTQ/RPDQを区別して扱うように修正.
592
593・バージョン番号の更新
594 - カーネルのバージョン番号を更新.
595
596○ターゲット依存部の主な要修正箇所(1.9.0 → 3.A.0)
597
598(1) target_config.[hc]を,target_kernel_impl.[hc]にリネーム
599
600(2) オフセットファイルの生成方法の変更
601 - target_cfg1_out.hに,TCBのデータ定義が含まれている場合には,新し
602 いTCBの構造に合わせて修正する.
603 - オフセットファイル(offset.h)を,makeoffset.cとgenoffsetを用いて
604 生成している場合には,コンフィギュレータを用いる方法に変更する.
605
606(3) メモリ領域をサイズを表すデータ型の変更
607 - t_stddef.hに,size_t型の定義が含まれるようにする.
608 - TOPPERS_sizeの定義を削除する.
609 - SIZE型を使っているところを,size_t型に変更する.
610
611(4) コンテキスト依存で呼び出す関数の変更
612 - x_lock_cpu/x_unlock_cpu/x_sense_lock/x_disable_int/x_enable_int/
613 x_clear_int/x_probe_intを,"x_"を外した名前に変更する.これらの
614 関数に対応する"t_"または"i_"で始まる関数は削除する.
615 - x_define_inh/x_config_int/x_define_excを使用している場合には,
616 これらを,"x_"を外した名前に変更する.
617 - x_set_ipm/i_set_ipm/x_get_ipm/i_get_ipmを削除する("t_"で始ま
618 る関数は残す).
619 - i_begin_intとi_end_intを削除する.
620
621(5) ディスパッチャ本体の変更
622 - dispatcher中のアイドル処理の実装
623を変更する.
624 - log_dsp_enterを呼ぶ処理を,ディスパッチャ本体から,それを呼ぶ処理
625 の側(dispatch,exit_and_dispatch,割込みの出å…
626¥å£å‡¦ç†ï¼ŒCPU例外の
627 出å…
628¥å£å‡¦ç†ï¼‰ã«ç§»å‹•ã™ã‚‹ï¼Ž
629
630(6) ディスパッチャの動作開始処理の変更
631 - start_dispatchに,スタックをIDが1のタスクのスタック領域に切り換え
632 る処理を追加する.
633
634(7) 割込みハンドラ/CPU例外ハンドラの出å…
635¥å£å‡¦ç†ã®å¤‰æ›´
636 - reqflgの廃止に対応する.
637 - タスク切換えの条件判定で,dspflgをチェックする必
638要がなくなったこ
639 とに対応する.
640 - アイドル処理の実装
641変更により,ret_int/ret_excからのタスク切換え
642 において,p_runtskがNULLとなっている状況を考える必
643要が生じたこと
644 に対応する.
645
646(8) テンプレートファイル変数の変更
647 - INTNO_ATTISR_VALIDとINHNO_ATTISR_VALIDを,INTNO_CREISR_VALIDと
648 INHNO_CREISR_VALIDに変更する.
649
650(9) 高分解能タイマドライバの実装
651
652 - ティックベースのタイマドライバを削除し,高分解能タイマドライバを
653 実装
654する.
655
656----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.