[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(toppers-users 871) Re: jsp_rename.h 不足 /sample Makefile 小バグ



I wrote:
> リリース日程については、当初今月中と考えていましたが、私が足を引っ張っ
> ていて、すでに苦しい状況にあります。変更点ですが、今回はこれまでになく
> 変更箇所が多いため、まだ整理しきれていないのですが、このメールの最後に
> メモをつけさせていただきます。

メモを付け忘れましたので再送です。

高田広章
名古屋大学
========================================================================
○GNU以外の開発環境への対応
・tool_def.h,tool_config.h の新設
 - ターゲット依存部に tool_def.h,tool_config.h を用意する
 - itron.h 中のターゲット依存になる型の定義を整理
 - jsp_stddef.h からコンパイラの拡張機能のためのマクロ定義を移す
 - cpu_config.h からラベルの別名を定義するマクロを移す(ターゲット依存)
・Makefile の拡張・整理
 - ターゲット依存の情報の設定方法を変更
・configure の拡張
 - 開発環境を指定するオプション(-T)の新設

○システムインタフェースレイヤ(SIL)の追加
・sil.h,s_services.h を新設
・各ターゲット依存部を SIL 対応に修正
 - エンディアンの定義を追加
 - 微少時間待ちの機能を新設

○トレースログ機能の追加
・チェックマクロを変更.それにあうようにサービスコールのコードを修正
 - サービスコールの出口に exit ラベルを置く
 - sns_yyy 以外のサービスコール関数にローカル変数として ercd を持たせる
・すべてのサービスコールの出入口にログ出力マクロを追加
・タスク状態の変化点にログ出力マクロを追加

○システムログ機能の大幅変更
・トレースログに対応できるように変更
・アサーションフェイルを独立した種別(LOG_TYPE_ASSERT)にする
・ログ情報の種別の名称を変更,重要度の名称を一部変更
・システムログ機能のための拡張サービスコールの名称を変更
・ログ情報のフォーマット出力関数を整理し,別ファイルに分離(log_output.c)
・_syslog_n は任意の種別のログ情報が出力できる関数に変更
・記録/低レベル出力する重要度の設定方法を変更
・システムログ機能の変更にあわせてシステムログタスクを修正

○シリアルドライバの全面改訂
・シリアルドライバのサービスコール名を変更
・クローズ時のフラッシュオプションを削除して,ポート状態の参照機能を新設
・ターゲット依存部とのインタフェースを変更
・動作制御(ioctl)の整理
 - IOCTL_RAW と IOCTL_CANONICAL を廃止
・デフォルトのシリアルポート(CONSOLE_PORTID)指定の廃止
 - ログタスク用に LOGTASK_PORTID を新設
 - サンプルプログラム用に TASK_PORTID を新設
・初期化ブロックと管理ブロックを分離
・その他,変数名やコードを整理

○コンフィギュレータの全面改訂

○ファイル名・関数名などから jsp の文字をはずす
・libjsp は library にリネーム
・jsp_services.h, jsp_stddef.h は t_services.h, t_stddef.h にリネーム
・jsp_perror.c は t_perror.c にリネーム.その中の関数もリネーム
・Makefile 中の JSPDIR を SRCDIR にリネーム
・Makefile 中の jsp を OBJNAME という変数に置き直す

○ファイルのインクルード関係の整理
・t_config.h を新設

○QAC対策(まだ不完全)
・符号付きと符号無しの間の変換を明示的にキャストする
・符号無し定数に u をつける
・関数名と衝突する変数名を避ける

○C++対応(まだ不完全)
・[課題] リンカスクリプトの対応が必要
・[課題] スタートアップモジュールの対応が必要

○M68K依存部の修正
・I/Oアクセスを SIL を用いるように修正
・DVE68K依存部を GDB_STUB に対応させる
・シリアルドライバの改造に対応
・μPD72001 のドライバを分離.ほぼガイドライン準拠に
・データ型を整理

○バグフィックス
・カーネル初期化時のタスクの生成順序を,静的APIの記述順序に一致させる
 - タスク生成順序テーブル(torder_table)を新設
・syscallマクロやそこから呼び出す関数で,MERCD の扱いを修正
・TMAX_RELTIM の定義を修正(int が16ビットの場合に対応)

○ドキュメントの修正
 - ターゲット独立部をターゲット非依存部に改名
 - config.txt のドキュメント名称をポーティングガイドに変更.内容を充実
 - その他多数の修正

○その他の主な修正
・性能評価用システム時刻参照のターゲット依存部とのインタフェースを整理
・kernel.h 中の ITRON仕様のバージョンを 0x5402(μITRON Ver. 4.02.00)に
・cpp を直接呼ばず,gcc -E -x c-header を用いる
 - Makefile 中の CPP の定義が不要に
 - makedep の -P オプションを廃止し,-X オプションを新設
・configure の改良
 - カーネルのソースを置いたディレクトリを指定するオプション(-D)の新設
 - 生成すべきファイルがすでに存在する時は,バックアップファイルに残す
 - sample/<ファイル名>.<CPU>-<SYS> も見るように修正
・TNUM_XXX を導入.オブジェクトの初期化ループの回し方を変更
・logtask.h 中のログタスクに関する定数の定義を,デフォルトの扱いに修正
・genoffset を疑似命令 half に対応させる
・makedep を新しい GCC のプリプロセッサに対応させる

----------------------------------------

・サービスコール単位でリンクできるように改造
 - syslog.h を t_syslog.h にリネーム.syslog.h は別目的で新設
・ライセンス文言の変更
・FP型の定義を (*)(void) に変更
 - タスク例外処理ルーチン,周期ハンドラについて対処
・SIZE型の定義を size_t に変更
・BOOL型の定義を変更(コンパイラのバージョン依存とする)
・インクルードファイルを整理
 - 何から何をインクルードするかを明確化
 - t_config.h を新設
・jsp_rename.def から jsp_rename.h,jsp_unrename.h を生成する
 - genrename を作成
・8ビット整数型が扱えない場合に対応
 - MERCD,SERCDマクロの定義を変更
 - ポインタ間の引き算は SIZE 型にキャストとして行なう
 - 文字を格納する変数には,B/UB ではなく char を使う
・タスクの起動順序を,静的APIを記述した順序に一致させる
 - タスク生成順序テーブルを新設
・C++ ではインクルードファイルを extern "C" で囲む
・C++ から呼ばれる可能性のある関数の宣言に throw() を追加
 - C言語では throw() を空に定義
・その時点でデバッグするための sys_abort() を導入
 - sys_defs.h に sys_abort を追加
・システムログ機能を外しやすくする
 - OMIT_SYSLOG を導入
・Makefile の修正・整理
  - banner は,カーネルを make した日付を出すことに
  - OMIT_MAKEOFFSET を導入
・割込みロック状態の制御をコンテキスト非依存に使えるようにする
・OMIT_SIL_ACCESS の導入
・kernel_cfg.c 用のインクルードファイルを新設
・t_perror の第1引数にログの重要度を渡すように修正
・configure の修正
 - ロードモジュールの拡張子を判定する機能を追加
 - perl のパス名の検索機能を追加
 - -Lオプションの追加
 - -dオプションを廃止
 - コンフィギュレータの make をやめる
 - バグフィックス

=m68k=
・シリアルI/Oドライバを,検討中の標準仕様に近づける
・アクセス関数を dve68k.h に分離
・dve68k_dga.h を新設(DGA の PDIC に相当)
・sys_rename.def から sys_rename.h,sys_unrename.h を生成する
・cpu_rename.def から cpu_rename.h,cpu_unrename.h を生成する
・-g を共通の Makefile からターゲット依存の Makefile.config に移す
・割込みロック状態の制御をターゲット依存部で定義