TOPPERS LOGO
Loading

 Topics | About Project | ASP3 Kernel | Documents | Download | Community | Report | Contacts | FAQ
  • 会員向けページ
    • メーリングリスト
    • 早期リリース
    • 技術ドキュメント
    • 開発支援
    • 会員情報登録・変更
    • 会員向けイベント情報
  • プロジェクトについて
    • TOPPERSプロジェクトとは
    • TOPPERSのロゴについて
    • TOPPERS公式マスコット「とぱめ」
    • TOPPERSライセンス
    • プロジェクト規則集
    • 貸借対照表
    • プロジェクトの組織
    • 関連団体、プロジェクトメンバ
    • 受賞
    • 入会のススメと申込み方法
    • 開発成果物の利用報告
    • FAQ
    • 問い合わせ・事務局案内図
  • 取り組み
    • ETロボコンへの取組み
    • プレス発表
    • ニュースレター
    • コンテスト
    • 一般向けイベント情報
    • TOPPERSカンファレンス
    • TOPPERS開発者会議
    • 過去の取り組み
      • 公的資金によるプロジェクト
      • ソフトウェア開発委託事業
      • 公募型事業
  • 開発成果物
    • リアルタイムカーネル
      • TOPPERS/ASP3カーネル
      • TOPPERS/HRP3カーネル
      • TOPPERS/FMP3カーネル
      • TOPPERS/HRMP3カーネル
      • TOPPERS/ASPカーネル
      • TOPPERS/JSPカーネル
      • TOPPERS/FMPカーネル
      • TOPPERS/HRP2カーネル
      • TOPPERS/SSPカーネル
      • TOPPERS/PARK
      • TOPPERS/FDMPカーネル
      • TOPPERS/FI4カーネル
      • TOPPERS/HRPカーネル
      • TOPPERS/ATK1
    • AUTOSAR関連
      • TOPPERS/ATK2
      • TOPPERS/A-RTEGEN
      • TOPPERS/A-COMSTACK
      • TOPPERS/A-WDGSTACK
      • TOPPERS/A-OSBENCH
    • TOPPERS/EV3RT(EV3 Platform)
    • TECS(コンポーネントシステム)
    • TINET(TCP/IPスタック)
    • TOPPERS/ECNL
    • CAN/LIN通信ミドルウェア
    • FatFs for TOPPERS
    • SafeG
    • SafeG64
    • SafeG-M
    • SafeG-Auto
    • MDCOM
    • TOPPERS BASE PLATFORM
    • Athrill
    • TOPPERS Test Suite Package(TOPPERS新世代カーネル)
    • TOPPERS新世代カーネル用コンフィギュレータ
    • その他
      • TOPPERS Builder Bootable CD-ROM イメージ
      • TLV(トレースログ可視化ツール)
      • BridgePoint for JSP1.4
      • TOPPERS C++ APIテンプレートライブラリ
      • TOPPERSカーネルテストスイート(μITRON4.0仕様)
      • Remote Link Loader(RLL)
      • ダイナミックローディングマネージャ(DLM)
      • TOPPERSカーネル向けシミュレーション環境
  • 教育コンテンツ
    • 初級実装セミナー教材
    • 中級実装セミナー教材
    • 基礎1実装セミナー教材
    • 基礎2実装セミナー教材
    • 基礎3実装セミナー教材
    • 基礎ハードウェア基本設計セミナー教材
    • ARM7版基礎1、2、3実装セミナー教材
    • TOPPERS BASE PLATFORM対応版基礎1、2、3セミナー教材
    • 二足歩行ロボット教材
    • TOPPERS版鹿威し
  • ドキュメント
    • TOPPERS第3世代カーネル統合仕様書
    • TOPPERS新世代カーネル統合仕様書
    • TOPPERS新世代カーネルへのマイグレーションガイド
    • TOPPERS新世代カーネル用コンフィギュレータ関連仕様書
    • 機能分散マルチプロセッサ向けリアルタイムカーネル仕様書
  • ダウンロード
    • ダウンロードページ一覧
  • 関連製品
    • トータルソリューション
    • 開発キット・開発環境・ツール
    • ミドルウェア・ソフトウェア部品
    • サポート・サービス
    • 教育・教材
    • ハードウェア
  • 利用事例
    • 適用事例
    • ユーザ
  • コミュニティ情報
    • ユーザーズフォーラム
    • ソフトウェア
    • 統合開発環境
    • 外部リンク
    • Contributed Software
    • Contributed Software(GitHub)
    • AUTOSAR情報サイト
  • その他の情報
    • 雑誌記事・書籍

TOPPERS/ASPカーネル更新履歴

Release 1.9.3 の Release 1.9.2 との主な違い
  • 動的生成機能拡張パッケージのバグフィックス
    • acre_tskで、優先度の高いタスクを生成・起動してもディスパッチが起こらない不具合を修正。
    • fsnd_dtqとifsnd_dtqで、エラーコードにE_OKを上書きしている不具合を修正。
    • acre_tskで、p_tinib->stkszに格納する値(stksz)を丸めた値とするように修正。
  • その他の修正
    • syslog_ref_logの出口のログ出力マクロ(LOG_SYSLOG_REF_LOG_LEAVE)のパラメータにエラーコードを追加。
    • extension/dcre/kernel/kernel.tfで、ISRに渡す拡張情報をintptr_t型へのキャストするように修正。
    • sample/Makefile中のコンパイラに対する-Tオプションを、-Wl,-Tオプションに変更。
    • utils/genoffset.tfに、SIL_ENDIAN_BIT/LITTLEの誤定義の検出処理を追加。
    • コンフィギュレータのエラーメッセージの修正。
    • テンプレートファイルの記述スタイルの修正。
    • 拡張パッケージも、kernel.tf中で、スタック領域の確保にALLOC_STACKを使うように修正(過去の修正時の拡張パッケージの修正漏れ)。
    • TLSFのinit_memory_poolが返すエラー値のチェック方法を修正〔Mac OS Xターゲット依存部〕。
  • ドキュメントの修正、コメントの修正
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.9.2 の Release 1.9.1 との主な違い
  • 動的生成機能拡張のバグフィックス
    • acre_cycで、周期ハンドラを開始する処理のバグを修正。
  • その他のバグフィックス
    • test_cpuexc10.cのチェック値の誤りの修正。
  • ドキュメントの修正。
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.9.1 の Release 1.9.0 との主な違い
  • ミューテックス機能拡張の仕様変更
    • 自タスクがロックしているミューテックスを再度ロックしようとした場合と、自タスクがロックしていないミューテックスをロック解除しようとした場合のエラーコードをE_OBJに変更。
  • ミューテックス機能拡張のバグフィックス
    • タスク終了時のミューテックスの解放順序を逆順に。
  • 動的生成機能拡張のバグフィックス
    • オブジェクト未登録エラーのチェックの抜けおよびバグを修正。
    • オブジェクト未登録の場合の他のエラーのチェック場所の修正。
  • オーバランハンドラ機能拡張のバグフィックス
    • オーバランタイマ割込みハンドラの起動と、オーバランタイマの再動作開始/停止との競合の問題を修正。
  • テストプログラム関係の修正
  • その他の修正
    • xsns_dpnとxsns_xpnで、kerflgもチェックするように修正(安全性の向上のための修正)。
    • kernel.tf中で、スタック領域の確保にALLOC_STACKを使うように修正。
  • ドキュメントの充実,コメントの修正
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.9.0 の Release 1.8.0 との主な違い
  • メッセージバッファ機能拡張パッケージの追加
  • コンフィギュレータのパス3のテンプレートファイルに、ターゲット依存部で設定したセクションを、LMAからVMAにコピーする処理を追加
  • サンプルのMakefileの修正
    • C言語の時に-lcを付けるように修正。
    • CFG_OBJSを、CFG_ASMOBJSとCFG_COBJSに分離。
  • 先頭番地のチェックコードの修正
    • 先頭番地のサイズが固定値になっていたところを、sizeof_FPに修正。
    • オーバランハンドラ機能拡張において、オーバランハンドラの先頭番地のチェックを追加。
  • 静的APIにおけるエラーチェックの追加
    • 符号無しのパラメータに負の値を指定した場合のエラーチェックを追加。
    • イベントフラグの初期ビットパターンのエラーチェックを追加。
  • テストプログラム関係の修正
    • テストライブラリに、test_startを追加。
    • テストプログラムの先頭で、プログラム名を表示するように修正。
    • gentestを拡張。
  • 動的生成機能拡張のバグフィックス
    • カーネルが割り付けるメモリ領域のサイズのチェックコードを修正。
    • DEF_KMMのkmmszが0以下の場合のエラーチェックを追加。
    • カーネル内部シンボルのリネーム表を修正。
  • その他のバグフィックス
    • kernel_def.csvにTARGET_MIN_ISTKSZを追加。
    • オーバランハンドラ機能拡張で、オーバランハンドラをサポートしていないターゲットでDEF_OVRを使用した場合には、コンフィギュレータでエラーとするように修正。
  • その他の修正
    • reqdspをdspreqに、p_reqdspをp_dspreqにリネーム。
    • スタック領域と固定長メモリプール領域の先頭番地をユーザが指定した場合には、kernel_cfg.c中で(void *)型にキャストするように修正。動的生成機能拡張のカーネルが割り付けるメモリ領域の先頭番地も同様。
    • TNUM_PORTが5以上の時は、serial.cでエラーを報告する。
    • makedepとmakereleaseを改善。
  • ドキュメントの充実、コメントの修正
    • ユーザーズマニュアルに「1.6 Cygwin環境における注意事項」を追加。
    • ユーザーズマニュアルに「11.8 rodataセクションをRAMに置く場合」を追加。
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.8.0 の Release 1.7.0 との主な違い
  • char_t型の廃止
  • SILのメモリ空間読出し関数に渡すポインタの属性の変更
    • sil_r??_???に渡すポインタに、const属性を追加。
  • 非タスクコンテキスト用のスタック領域のサイズチェックの追加
    • DEF_ICSのistkszがターゲット定義の最小値(TARGET_MIN_ISTKSZ)よりも小さい場合にE_PARエラーとする処理を追加。
  • vasyslog.cをlibraryディレクトリに移動
  • MISRA-C対応のためのコードの修正
    • 文をマクロ定義している箇所をdo{}while(false)で囲む。
    • コンマ演算子に使用を最小限に。
    • 多重代入文をやめる。
    • 符号無し整数定数にUをつける。
    • 標準的な名前を変数名として使わないように修正。
    • 返値を使わない関数呼出しを(void)にキャストする。
  • その他のバグフィックス
    • ミューテックス機能拡張で、ref_tskがTTW_MTXを返す処理を追加。
    • 動的生成機能拡張で、acre_isrのエラーコードを修正。
    • 動的生成機能拡張で、オブジェクトコントロールブロックがない時にacre_yyyを呼んだ場合の問題を修正。
    • kernel_check.tfでエラーメッセージの出力処理を修正。
    • 拡張モジュールの追従ミスの修正。
    • TOPPERS_SUPPORT_OVRTIMをTOPPERS_SUPPORT_OVRHDRに修正。
  • サンプルのMakefileの修正
    • カーネルライブラリを別ディレクトリで作成する時に、カーネルライブラリが更新されたら、オブジェクトファイルを再構築するように修正。
    • CFG2_OUTをCFG2_OUT_SRCSにリネーム。
    • LDFLAGSは、cfg1_out.cのリンク時には適用されないように修正。
    • log_output.o、vasyslog.o、t_perror.o、strerror.oを、SYS_COBJSからAPPL_COBJSに移動。
  • その他の修正
    • semaphore.h等からwait.hをインクルードするように修正。
    • TOPPERS_EMPTY_LABELのデフォルトの定義をkernel_int.hに移動。
    • __STDC_VERSION__が定義されていない場合に対応。
    • test_lib.hに多重インクルードの防止コードを追加。
    • ユーティリティプログラムを新しいperlに対応するように修正。
    • gentestを拡張(CPU例外ハンドラの生成,GOTOに対応など)。
    • configureにオプションを追加。
    • test_tex1にテストケース1件を追加。
  • ドキュメントの充実,コメントの修正
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.7.0 の Release 1.6.0 との主な違い
  • 動的生成機能拡張パッケージ、制約タスク拡張パッケージの追加
  • タスク例外処理ルーチンの実行開始条件の変更
    • タスク例外処理ルーチンの実行に関するコードの修正。
    • ipmflgを導入。
    • exc_sense_unlockを廃止。
  • データキューのコードの修正
    • データ管理ブロックの導入(他のオブジェクトの実装と整合された)。
  • SILのメモリ空間アクセス関数に渡すポインタの方の変更
    • void *を渡していたところを、サイズにあわせて、uint8_t *などに変更。
  • 動的生成機能拡張パッケージにあわせた修正
    • t_stddef.hにMB_T型の定義を追加。
    • コンフィギュレータのテンプレートファイル(パス2および3)で定義していたターゲット依存情報を、ヘッダファイルに移動。
    • kernel_def.csvに、それらの値を取得するための記述を追加。
    • ポーティングガイドの修正。
  • オフセットファイルをコンフィギュレータで生成する方法を追加
    • genoffset.tfを追加。
    • kernel_def.csvに、SIL_ENDIAN_BIG/LITTLEを追加。
    • sample/Makefileを修正。
    • m68k依存部を、この方法に対応させる。
    • ポーティングガイドの修正。
  • その他のバグフィックス
    • CHECK_INTPRI_CHGIPMの定義中のtypoを修正。
    • genoffsetのRelease 1.6.0におけるディグレードを修正。
    • オーバランハンドラ拡張機能で、ターゲット依存部がオーバランハンドラをサポートしていない場合には、TCB中のleftotmを定義しないように修正。
  • その他の修正
    • USE_TSKINICTXBをマクロ定義した場合のスタック領域の先頭番地のチェックのために、GET_STK_TSKINICTXBを導入。
    • kernel_cfg.c中で、タスクの先頭番地をTASK型にキャストするように kernel.tfを修正。
    • ext_tskのE_SYSの返し方を修正。ext_kerもE_SYSを返すコードに修正。
    • CFG_INTは、有効なすべての割込み番号に対応する方針に従い、コンフィギュレータのエラー条件を修正。
    • makedepに-Sオプションを追加。
    • シリアルドライバでサポートするポート数を、最大4ポートに変更。
  • ドキュメントの充実、コメントの修正
  • バージョン番号の更新
    • カーネルのバージョン番号を更新。
Release 1.6.0 の Release 1.5.0 との主な違い
  • cfgの新しいバージョン(1.6)に対応
    • offsetof_TINIB_stkszとoffsetof_TINIB_stkの取得記述をターゲット非依存部に移動.
  • ユーティリティの修正
    • genoffsetに,エンディアン指定をチェックする機能を追加.その際に,コードを整理.
  • その他の修正
    • TCBのpriorityフィールドを,条件があえばuint_8で定義するように修正.
    • ターゲット依存部でSIL_ENDIAN_BIGもSIL_ENDIAN_LITTLEも定義されていない場合に,sil.hでエラーを検出するように修正.
    • システムログ機能のsysog_logmaskとsyslog_lowmask_notの初期値を修正.
    • makereleaseを,ファイルの重複をチェックするように修正.
    • test_utm1のエラーメッセージを修正.
Release 1.5.0 の Release 1.4.0 との主な違い
  • カーネル管理外の割込みとCPU例外の扱いの見直し
    • カーネル管理外の割込みの設定方法を整理・拡張.
    • カーネル管理外の割込みハンドラは,カーネル内の出入口処理を経由しないことを基本とした(ターゲット依存).
    • CPU例外ハンドラの出入口処理におけるカーネル管理外のCPU例外の扱いを規定.
  • chg_ipmとget_ipmの仕様変更
    • chg_ipmとget_ipmは,CPUロック状態では呼べないものとした.
    • これに伴ってテストプログラムを修正.
  • タイマ割込み処理で呼び出したialm_timの基準時間の変更
    • current_timeの更新後に,タイムイベントの処理を行うように変更.
    • 有効な最小のシステム時刻としてmin_timeを導入.
    • pend_updateを廃止.
  • タスクのスタックサイズの最小値チェックの追加
    • スタックサイズが0の場合のエラーを,ターゲット非依存で検出.
    • ターゲット依存で,タスクのスタックサイズの最小値を設定できるようにした.
  • タスク初期化コンテキストブロックの追加
    • ターゲット依存で,タスク初期化コンテキストブロック(TSKINICTXB)を使用できるようにした.
  • ターゲット依存部で定義する名称のリネーム方法の変更
    • ターゲット依存部で定義し,ターゲット非依存部から参照する名称のリネーム記述を,ターゲット依存部に移動.
  • 拡張パッケージの追加
    • ミューテックス機能拡張パッケージ,オーバランハンドラ機能拡張パッケージ,タスク優先度拡張パッケージを,一般公開するファイルに追加.
    • オーバランハンドラ機能拡張への対応方法を,ポーティングガイドに記載.
  • サポートする機能を識別するマクロの定義方法の変更
    • ターゲット依存部でTOPPERS_TARGET_SUPPORT_XXXXXがマクロ定義されていれば,kernel.hでTOPPERS_SUPPORT_XXXXXをマクロ定義する方法に変更.
  • システムログ機能の修正
    • syslog_initializeが呼ばれる前のログ情報の出力に対応.
    • sysog_logmaskとsyslog_lowmask_notの初期値を修正.
  • テストライブラリの修正
    • test_lib.hとtest_lib.cを,testディレクトリから,それぞれincludeとlibraryディレクトリに移動.
    • syslog_flush関数を追加.logtask_flushの代わりに使用.
    • test_finish関数を追加.テストプログラム中でext_kerの代わりに使用.
    • 以上に伴ってテストプログラムを修正.
  • configureの拡張
    • Makefileのテンプレートを指定するためのオプションを追加.
  • その他のバグフィックス
    • kernel_impl.h中のマクロ名の修正.
    • kernel.tf中の文法ミスの修正.
  • その他の修正
    • CTXB型をTSKCTXB型に名称変更.
    • ext_tskで,戻らないはずの処理から戻った場合には,E_SYSを返す.
    • call_texrtnからdispatchを呼び出す処理を改善.
    • make_non_waitを,wait.cからwait.hに移動.
    • xsns_xpn中の冗長な条件式を削除.
    • TA_DISINTとTA_LEVELをitron.hから削除.
    • LOG_TEX_LEAVEの第2パラメータを削除.
    • サンプルのMakefileに,OMIT_WARNING_ALLとOMIT_OPTIMIZATIONを追加.
    • get_utmに関するテスト(1)(test_utm1)を追加.
    • test_dlynse.cの表示を改善.
  • ドキュメントの充実,コメントの修正
    • 機能拡張・チューニングガイドに関して,ユーザーズマニュアルに記載.
    • キュー操作ライブラリ関数に関して,ユーザーズマニュアルに記載.
    • システムの起動時の初期化処理に関して,ユーザーズマニュアルに記載.
    • 設計メモを拡充.
  • バージョン番号の更新
    • カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
Release 1.4.0 の Release 1.3.2 との主な違い
  • 周期ハンドラの仕様変更
    • sta_cycを呼び出した後,最初に周期ハンドラが起動される時刻を,起動周期後から,起動位相後に変更.
  • TSZ_MPFの定義を削除
  • call_atexitの廃止
    • ターゲット非依存部からcall_atexitを呼び出すのをやめる.call_atexitで行っていた処理(標準的にはsoftware_term_hookを呼び出す処理)は,必要であればtarget_exitの先頭で行うこととする.
  • get_utmの問題の修正
    • 周期ハンドラ,アラームハンドラの中でget_utmを呼ぶと,正しい時刻が返らない問題を修正.
  • スケジューラのモジュール性向上
    • タスク状態(tstat)の変更を,make_runnableではなく,それを呼ぶ側の関数で行うように修正.
  • テンプレート変数の値の自動取得
    • OMIT_INITIALIZE_INTERRUPTとOMIT_INITIALIZE_EXCEPTIONの2つのテンプレート変数の値を,ヘッダファイルの定義から自動取得するように修正.
  • トレースログ機能の改善
    • LOG_TEX_ENTER,LOG_TEX_LEAVEのパラメータに,p_runtskを追加.
  • 実行時間分布集計モジュールの修正
    • 時刻取得の方法をターゲット依存で変更できるように修正.
    • TNUM_HISTの定義を,histgram.hからhistgram.cに移動.
  • コンフィギュレータの分離
    • cfgは,ASPカーネルとは独立したパッケージとして配布することにする.
  • マイグレーションガイドの分離
    • doc/migration.txtは,別途PDFファイルで配布することにする.
  • テストプログラム,性能評価プログラムの追加
    • セマフォ機能のテスト(2)(test_sem2)を追加.
    • act_tsk,iact_tskの処理時間の評価プログラム(perf4)を追加.
  • clean時に削除するファイル
    • clean時に削除するファイルを,ターゲット依存部で定義するための変数(CLEAN_FILES)を導入.
  • ユーティリティの修正
    • makereleaseが使うディレクトリ名(asp)を,カレントディレクトリから決定するように修正.
    • makedepに,Cygwin環境におけるルートディレクトリ名を指定するための-Rオプションを追加.MakefileにMAKEDEP_OPTS変数を追加.
    • gentestをアラームハンドラの複数回起動に対応できるように拡張.
  • その他のバグフィックス
    • リネームするシンボルを修正.
    • 割込みサービスルーチン,初期化ルーチン,終了処理ルーチンの先頭番地に関数名以外を記述した場合にも動作するように修正.
    • Makefile.dependがない場合の問題を修正.
  • ドキュメントの充実,コメントの修正
    • 各ドキュメントにTOPPERSライセンスと目次を追加.
  • バージョン番号の更新
    • カーネル仕様のバージョン番号,カーネルのバージョン番号を更新.
Release 1.3.2 の Release 1.3.1 との主な違い
  • TMAX_RELTIMをユーザから参照できるマクロに
    • TMAX_RELTIMの定義を,kernel/time_event.hからinclude/t_stddef.hに移動.
  • const指定の追加
    • syslog_printf,syslog_print,syslog_wri_log,serial_wri_datのパラメータにconst指定を追加.
  • TMIN_ISRPRI,TMAX_ISRPRIの導入
  • 実行時間分布集計モジュールで時間の逆転が疑われるケースの扱い
    • 実行時間分布集計モジュールで時間の逆転が疑われる度数を計測するように修正.
  • システムログタスクの終了処理の修正
    • ログバッファに残ったログ情報であることを示す文字列を出力するように修正.
  • コンフィギュレータの修正
    • 順序付きリストの要素に式を使えるように変更.
    • 静的APIのパラメータに型キャストが含まれるとパースできないバグの修正.
    • #pragma onceを用いると行番号がずれるバグの修正.
    • cfgファイルを指定しなかった場合のエラーメッセージの修正.
  • コンフィギュレータが生成するファイル
    • コンフィギュレータがkernel_cfg.c以外のファイルを生成する場合に対応するための変数(CFG_OBJS,CFG2_OUT)を導入.
  • realclean時に削除するファイル
    • realclean時に削除するファイルを,ターゲット依存部で定義するための変数(REALCLEAN_FILES)を導入.
  • テストプログラムの追加・拡充
    • セマフォ機能のテスト\(1\)を追加.
    • カーネルの整合性検査にセマフォ毎の検査を追加.
  • バグフィックス
    • 非タスクコンテキスト用スタックの確保時のサイズの誤り.
    • kernel.tf中のエラーメッセージの誤り.
    • 実行時間分布集計モジュールにおける最大値の扱いのバグ.
    • Makefile中のAPPLDIRに複数のディレクトリが定義されている時の扱い.
    • test/perf.cで,計測回数を10000回になるように修正.
    • DVE68Kターゲット依存部のtarget.tf中のエラーメッセージの誤り.
  • ドキュメントの充実,コメントの修正
    • 各ドキュメントにTOPPERSライセンスと目次を追加.
  • バージョン番号の更新
  • Release 1.3.1からのターゲット依存部の要修正箇所は、特にありません.
Release 1.3.1 の Release 1.3.0 との主な違い
  • スタックサイズのエラーチェックを追加
    • CRE_TSKのstk(タスクのスタック領域の先頭番地)がNULLでない場合に,stkszを適切な値(ターゲット依存の値の倍数)に丸める処理をやめ,適切な値でない場合にエラーとするように修正.
    • DEF_ICSのistk(非タスクコンテキスト用のスタック領域の先頭番地)がNULLでない場合に,istkszが適切な値(ターゲット依存の値の倍数)でない場合のエラーのチェックを追加.
  • 強制待ち要求ネストの廃止に伴う追加修正
    • TMAX_SUSCNTの定義を,kernel.hからitron.hに移動.
    • ref_tskで参照できる情報(T_RTSKのフィールド)からsuscntを削除.
  • kernel_api.csvの修正
    • 各オブジェクトの属性のパラメータを,符号無しに修正.
  • kernel_def.csvの修正
    • 符号無しのシンボルの定義に",signed"を付加.
  • itron.hの修正
    • frsm_tskのタイプミスの修正.
  • コンフィギュレータの修正
    • 組込み関数DUMP, TRACE, NOOPを追加.
    • $FOREACH$や$IF$等の中身が何もないときに,internal errorになる不具合を修正(エラーメッセージの適切化).
    • $INCLUDE$命令でインクルードしたtfの行番号がずれる不具合を修正.
    • 64ビット整数が定義されていないと,CSVファイルでsをつけたレコードが符号付きと扱われない不具合の修正.
    • 型キャストのパース処理に関する不具合の修正.
    • エラーの起こった行番号が正しくない不具合の修正.
    • 同じtskidに対してDEF_TEXが複数あるエラーのチェックを行うように修正.
    • DEF_TEXを使用した時に,TSK.TSKID[tskid]が0になる不具合の修正.
    • DEF_INH,CFG_INT,DEF_EXCで同じオブジェクト番号に対する登録が重複した場合のエラーチェックを二重に行っている問題の修正.
  • 配布するファイルの修正
    • doc/api_spec.txt, ngki_spec.txt, sysstat.txtを除外.
    • extensionディレクトリを除外.
  • ドキュメントの修正,コメントの修正
  • バージョン番号の更新
  • Release 1.3.0からのターゲット依存部の要修正箇所は、doc/version.txtをご覧ください。
Release 1.3.0 の Release 1.2.1 との主な違い
  • set_tim(システム時刻の設定)の廃止
  • 属性の変更
    • TA_DISINTを廃止して,TA_ENAINTを復活.
  • 拡張機能・ターゲット定義機能の有無を判別するマクロ名の変更
    • TOPPERS_EXTENSION_MUTEXをTOPPERS_SUPPORT_MUTEXに.
    • TOPPERS_EXTENSION_PRI_LEVELをTOPPERS_SUPPORT_PRI_LEVELに.
    • SUPPORT_???_???をTOPPERS_SUPPORT_???_???に変更し,ターゲット依存部での定義をtarget_kernel.hに移動する.
  • 型名・変数名・定数名の変更
    • SYSUTIM → SYSUTM,sysutim → sysutm,p_sysutim → p_sysutm
    • SIO_ERDY_SND → SIO_RDY_SND,SIO_ERDY_RCV → SIO_RDY_RCV
    • sio_ierdy_snd → sio_irdy_snd,sio_ierdy_rcv → sio_irdy_rcv
  • cfg1_out.cのコンパイル/リンク方法の変更
    • cfg1_out.cからtarget_cfg1_out.hをインクルードするように,コンフィギュレータを変更.
    • ターゲット依存部でtarget_cfg1_out.hを用意する.
    • cfg1_out.cのリンクは,カーネルと同じ方法をとるように変更.
  • コンフィギュレータの修正
    • cfg1_out.cに生成する内容の変更(前記と関連).
    • boost 1.35.0に対応.
  • サンプルプログラムの修正
    • タスク内でのループ回数を固定する機能(TASK_LOOP)を導入.
  • バグフィックス
    • 固定長メモリプール領域の確保方法.
    • DEF_TEXのエラーで,問題になったDEF_TEXの行番号を表示する.
  • 用語の変更
    • 「割込みロック」→「全割込みロック」
  • ドキュメントの修正
  • バージョン番号の更新.
  • Release 1.2.1からのターゲット依存部の要修正箇所は、doc/version.txtをご覧ください。
Release 1.2.1 の Release 1.2.0 との主な違い
  • トレースログ記録のサンプルコードを組み込む方法の変更
    • configureに-rオプションを追加.
    • sample/Makefileの修正.
  • Makefileのコンフィギュレータ関連部分の変更
    • コンフィギュレータに対するターゲット依存のオプションを,Makefileのターゲット依存部で記述するように変更.
    • コンフィギュレータの各パスのターゲット依存のファイルへの依存関係を,Makefileのターゲット依存部で記述するように変更.
  • バージョン番号の更新.
  • Release 1.1.0からのターゲット依存部の要修正箇所は、こちらをご覧ください。
Release 1.2.0 の Release 1.1.0 との主な違い
  • コンフィギュレータを新しいバージョンに差し換え
    • パス1とパス3にもターゲット依存機能を追加.
    • FMPカーネルのクラス記述に対応.
    • 追加ファイル(ターゲット非依存部,cfg以下を除く)
      kernel/kernel_api.csv, kernel_def.csv, kernel_check.tf
    • 追加ファイル(ターゲット依存部)
      target_def.csv, target_check.tf
    • sample/Makefileを新しいコンフィギュレータに対応させる.
    • ミューテックス機能拡張でコンフィギュレータのmakeを不要に.
  • データ型と定数の変更・追加
    • BOOL型をbool_t型に変更.
      BOOL → bool_t,TRUE → true,FALSE → false
      従来の定義をitron.hに追加.
    • char型をchar_t型に変更.
      ただし,文字列定数が記述されることが多い引数等は,コンパイラの警告を避けるために,char *のままとする.
    • float32_t, double64_tの追加.
  • テストプログラムの追加・修正
    • システムコンフィギュレーションファイルからインクルードするコンフィギュレーションファイルの整理(ボトムアップ順序に).
    • テストプログラムの生成スクリプト(utils/gentest)を作成.
    • ミューテックス機能のテストプログラムを生成スクリプト対応に.
    • ミューテックス機能拡張にtest_mutex7を追加.
  • システムサービスのヘッダファイルのインクルード記述の整理
    • syssvcの下のヘッダファイルは,#include "syssvc/??????.h"でインクルードする(??????.cからインクルードする場合を除く).
    • Makefileから,-I$(SRCDIR)/syssvcを削除.
  • カーネル起動メッセージの出力(banner)機能の独立
    • syssvc/banner.cfg, banner.hを作成.
    • syslog.cfgから関連する記述を削除.
  • t_syslog.hとsyslog.hの役割の変更
    • t_syslog.hは,システムログ出力を行うための定義を含むヘッダファイルとし,システムログ機能を操作するための定義は,syslog.hに移す.
  • シリアルインタフェースドライバのフラッシュ方法の変更
    • シリアルインタフェースドライバの強制フラッシュ機能は廃止し,未送信文字の取出し機能を新設.これを用いた強制フラッシュ処理は,システムログタスクの終了処理ルーチン側で実施.
  • タスクディスパッチの要否の判定方法の変更
    • タスクディスパッチの必要な状態にする関数を,すべて,タスクディスパッチの要否を返すようにし,p_runtskとp_schedtskの比較による判定をなるべく使わないように修正.
  • トレースログ記録のサンプルコードの使用方法を規定
    • ポーティングガイドの6.11.2節に,ターゲット依存部でトレースログ記録のサンプルコードを使用する方法を規定.
    • DVE68Kターゲット依存部をそれに従うように修正.
  • TARGETDIR変数の導入
    • sample/Makefileで,ターゲット依存部ディレクトリを示す変数TARGETDIRを定義.
    • これを使うように,ターゲット依存部を修正.
  • その他のバグフィックス
    • kernel_rename.def:log_???_entry → log_???_enter
  • その他の修正
    • T_RLOG → T_SYSLOG_RLOG
    • syssvcの下のヘッダファイルにもthrow()を入れる.
    • makerelease:RELEAEディレクトリがなければ作る.
  • ドキュメントの充実.コメントの追加・修正.
    • doc/migration.txtを作成(現時点では未完成).
  • バージョン番号の更新.
Release 1.1.0 の Release 1.0.0 との主な違い
  • frsm_tskをカーネルから削除.itron.hにマクロ定義として残す
  • カーネルのトレースログ機能の改修
    • トレースログマクロを使う側のファイルで、デフォルト定義を与える。
    • nulltraceを廃止。logtraceを修正。
    • ターゲット依存部でのトレースログ取得方法を標準化。
    • INTHDR_ENTRYとEXCHDR_ENTRYにパラメータを追加。
    • target_putcを、target_fput_logにリネーム。
  • システムログ機能をカーネルから外して、システムサービスの位置付けに
    • syslog.c、syslog.h、banner.cを、kernelからsyssvcに移動。
    • システムログ機能のサービスコールの名称にsyslog_を付加。
  • システムサービスのディレクトリの位置付けの明確化
    • logtask.hとserial.hを、includeからsyssvcに移動。
    • vasyslog.cを、libraryからsyssvcに移動。
  • リリースパッケージの形態を整備
    • utils/makereleaseを作成。utils/genmanifestを削除。
    • MANIFESTファイルに、パッケージ名とバージョン番号を記述。
    • MANIFESTファイルのINCLUDE記述を変更。
  • 出入口処理の番地の変数/フィールド名の変更
    • 割込みハンドラ/CPU例外ハンドラの出入口処理の番地(FP型)の変数/ フィールド名をint_entry/exc_entryに変更。コメントも修正。
  • DVE68K/M68K依存部の修正。
    • target.tf中のエラーメッセージの修正。
    • logtraceを使うように修正。
  • その他の修正。
    • 固定長メモリプール初期化ブロックの生成に関するバグを修正。
    • configureで、cfgが生成されているかのチェックを厳密化。
    • sample/Makefileにおいて、ライブラリに関する依存記述の修正。
    • sample/sample1.cfgにおいて、システムサービスの定義順を変更。
    • extension/MANIFESTに、MANIFESTを追加。
  • ドキュメントの充実。コメントの追加・修正。
  • バージョン番号の更新。
  • Release 1.0.0からのターゲット依存部の要修正箇所は、こちらをご覧ください。

Newsletterのバックナンバーはこちら

Tweets by ToppersJP


Copyright (C) 2000 - 2023 by TOPPERS Project, Inc. All Rights Reserved.