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
    • 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情報サイト
  • その他の情報
    • 雑誌記事・書籍

ATK2更新履歴

ATK2 Release 1.4.2 の 前バージョン との主な違い
  • OsAlarmとOsScheduleTableにおいて、コンフィギュレーション時に指定した自動起動種別設定が反映されない不具合を修正
  • 非信頼OSAPからEnableAllInterruptsを呼びだした場合,プロテクションフックが呼ばれるように修正
  • SuspendOSInterruptsによるOS割込み禁止状態で呼び出されたエラーフックから実行中OSAPに対するTerminateApplication発行を許可
  • OSAP強制終了処理に関する不具合を修正
  • SuspendOSInterrupts/ResumeOSInterruptsをOS処理レベル以上で動作する処理単位から呼び出した場合,何もしないように修正
  • カーネルのグローバルな変数,関数に対してプレフィックス"kernel_"をつけてリネームする仕組みを導入
  • IOC用システムサービスのうち,信頼OSAPから呼び出されるAPIをIoc_kernel.c,非信頼OSAPから呼び出されるAPIをIoc_shared.cに生成し,Ioc_kernel.cをカーネル領域,Ioc_shared.cを共有領域に配置するように修正
  • リソースの上限優先度に関する不具合修正
  • 非信頼OSAPから他OSAPに属するカウンタに対してIncrementCounterを発行した場合,エラーフックが呼ばれるように修正.また,非信頼OSAPに属するアラームの満了処理で,他OSAPに属するカウンタをインクリメントするようにコンフィギュレーションした場合,ジェネレータがエラーを出力するように修正
  • IOC用システムサービスの内部関数に引数チェックを追加
  • タスクから信頼関数を実行している時にディスパッチが発生し、その後もとのタスクの信頼関数処理に戻ったとき、現在実行中OSAP、現在動作中OSAP、信頼OSAPの権限で動作していることを管理する変数がもとのタスクが属するOSAPに基づいて設定される不具合
ATK2 Release 1.4.1 の 前バージョン との主な違い
  • GetCurrentApplicationIDの実装
  • カーネル起動時にすべてのシステムスタックのマジックナンバー領域を初期化し,タスク起動時毎のマジックナンバー初期化を削除
  • エラーフックから動作中OSAPを強制終了できるよう修正
  • シャットダウンフック実行中のOSAPを判別できるよう修正
  • IOCのシステムサービス時のエラーチェック機構(CHECK_IOC_ACCESS)にて確認するOSAPIDをGetApplicationIDからGetCurrentApplicationIDに変更
  • ioc_xxx_genericに不正なメモリアドレスを渡した場合,エラーフックを呼び出し,E_OS_SYS_ILLEGAL_ADDRESSを返すように変更
  • アプリケーションの状態がACCESSIBLEでない場合のE_OS_ACCESSを拡張エラーから標準エラーに変更
  • IOCのプロパティでMACROが指定された場合,関数宣言をターゲット依存部で置きかえれるように修正
ATK2 Release 1.4.0 の 前バージョン との主な違い
  • バージョン番号の更新(管理を簡易にするため、すべてのスケーラビリティクラスで統一したバージョン番号とした)
  • 文字コードをEUC-JPからUTF-8に変更
  • 全SCでエラーコードを統一
  • スケジュールテーブルの最終遅延に関するジェネレータの不具合を修正
  • システムサービスDisableInterruptSource、EnableInterruptSourceをすべてのスケーラビリティでサポート
  • DisableInterruptSource、EnableInterruptSourceにおいて、ターゲットが特定の割込みについて、禁止/許可する機能を持っているかのチェック機構追加
  • フックルーチンに対するサービス保護機能の削除
  • コンフィギュレーション時にフックルーチンを使用する設定にしたにも関わらず、フックルーチンを定義していない場合、リンク時にエラーとなるように修正
  • ジェネレータで先頭番地についてチェックする対象を、コンフィギュレーションで指定されたスタックの先頭番地のみに修正
  • OSAP固有フックの削除
  • 非信頼OSAPからDisableAllInterruptsを呼びだした場合、プロテクションフックが呼ばれるように修正
  • 非信頼OSAPからSuspendAllInterruptsを呼びだした場合、エラーフックが呼ばれるように修正
  • OSAP強制終了処理の修正
    • 強制終了処理を対象となるOSAPのリスタートタスクで実施するように修正
    • 強制終了対象になりうるOSAPにリスタートタスクが存在しない場合、OSのジェネレータでリスタートタスク(OSAP強制終了専用)を生成するように修正
  • 信頼領域で保護違反が発生した場合、OSシャットダウンするように修正
  • タスク到着間隔監視用の関数と、C2ISR到着間隔監視用の関数を一本化
  • ネイティブロック方式のスピンロックをサポート
  • エミュレーション方式でスピンロックを実現する場合、スピンロックロックを取得し直すタイトループに待ち時間を設けるように修正
  • relase_isrspinlocksとreleasetaskspinlocksをforce_release_spinlocksで一本化
  • その他細かい修正
    • MISRAルール対応
    • カウンタnspertickの出力を整数化
    • スタックモニタリング違反の原因を特定するビットの削除
    • コメントの修正など

ATK2-SC1更新履歴

ATK2-SC1 Release 1.3.2 の Release 1.3.1 との主な違い
  • システムサービスIDの振り直し
  • ハードウェアカウンタの割込みがセットされなくなる問題を修正
  • トレースログを有効化する設定を非依存部のsample/Makefileに移動
  • その他細かい修正
    • コメントの修正など
    • arch/logtrace/tlv.tfを削除
    • configureでシリアル通信の有効/無効を切換えられるように修正
    • sample1の修正
  • バージョン番号の更新
ATK2-SC1 Release 1.3.1 の Release 1.3.0 との主な違い
  • コンパイル時に警告が出る問題への対応
    • 拡張エラー有効時のみ使用するローカル変数をマクロにより無効化するように修正
    • set_event_action、activate_task_actionの返り値の型をStatusTypeとし、ercdを返すように修正(これらの関数を呼び出す際にはvoidでキャスト)
    • syslog内部でconstにキャストしている部分を修正
    • sampleのソースコードから、使用していない関数svc_perrorを削除
  • プロテクションフックの設定を省略した場合にエラーとなる問題を修正
  • ディスパッチャのアイドルループにおいて、callevelを変更しないように修正
  • その他細かい修正
    • コメントの修正など
  • バージョン番号の更新
ATK2-SC1 Release 1.3.0 の Release 1.2.1 との主な違い
  • ABREX導入
    • AUTOSAR準拠のコンフィギュレーションファイルはXML形式であり,手動で作成,編集するのに不向きであるので,YAML形式で記述したコンフィギュレーション情報をXML形式へ変換するツール(ABREX)を開発した
  • 静的APIの廃止
    • SC3において,ターゲット依存部で用意するハードウェアカウンタへのアクセス権設定が困難であることから,ターゲット依存部で用意するコンフィギュレーション情報は,YAML形式として,ツール(ABREX)を用いてXMLへ変換する手法を採用した
    • これに伴い,静的APIの必要性が無くなったため,廃止した
    • 静的APIに関連するファイルを削除
  • 複数XML入力対応
    • 複数のXMLに分けてコンフィギュレーション情報を管理する際,これまではプリプロセッサの#include機能をarxmlファイルに使用して実現していたが,#includeはXMLとして標準的に使用できない記述であり,他のツールで作成したarxmlでは使用されないものであるので,プリプロセッサ用の記述を廃止した
    • プリプロセッサ廃止に伴い,ジェネレータ最新版(1.9.4)でサポートされた,XML複数入力機能を用いて,複数のXMLに分けてコンフィギュレーション情報を同時に処理できるように対応した
    • 編集用として各arxmlファイルに対応するyamlファイルを追加した
  • ハードウェアカウンタをターゲット依存部で標準サポートとする
    • AUTOSARでは,指定した時間で周期的にタスクを起動する使用方法が一般的であるため,1つ以上のハードウェアカウンタが必須であることから,ハードウェアカウンタをターゲット依存部で用意することにした
  • システムタイマを標準サポートから外す
    • システムタイマは,主にトレースログや性能評価等で時間を計測するために使用することを想定しており,AUTOSARでは必須の機能ではないため,標準の機能から外した
  • 依存部でC1ISR本体のextern宣言を制御できるように変更
    • 依存部でコンフィギュレーション関数(EXTERN_C1ISR_HANDLER)を実装することで,非依存部で出力するC1ISR本体のextern宣言を変更できるように対応した
  • ジェネレータ設定ファイル(kernel.ini)にオプション情報追加
    • 未定義パラメータチェックオプション:CheckUnknownParameter
  • Rte_Type.hインクルード対応
    • AUTOSARではシステム全体で使用するデータ型を統合して定義する仕組みがあり,定義したデータ型は,RTEジェネレータによって,Rte_Type.hに出力される
    • IOC等で,OSからシステム全体で使用するデータ型を使用するために,Rte_Os_Type.hから,Rte_Type.hをインクルードするよう対応した
    • RTEジェネレータを使用しない場合や,システム全体で使用するデータ型を使用しない場合は,空のRte_Type.hを用意する必要がある
  • バージョン番号の更新
ATK2-SC1 Release 1.2.1 の Release 1.2.0 との主な違い
  • NULLマクロの定義をCompiler_Cfg.hからkernel_impl.hへ移動
    • AUTOSARでは,NULLポインタ用マクロとして,NULL_PTR(Compiler.h)を使用する
  • 割込み禁止中に以下のシステムサービス呼び出せるように変更
    • GetTaskID
    • GetTaskState
    • GetISRID
  • 割込み禁止状態でStartOSを呼び出した場合における,割込み許可処理の修正
    • DisableAllInterruptsまたはSuspendAllInterruptsによる割込み禁止状態で,StartOSを呼び出した場合,EnableAllInterruptsまたはResumeAllInterruptsの発行と同等の処理を行なって,割込み許可状態へ遷移した上で,OSを起動するように修正
  • OS内部関数名の変更
    • get_reltick_api → get_reltick
    • get_abstick_api → get_abstick
  • バージョン番号の更新
ATK2-SC1 Release 1.2.0 の Release 1.1.0 との主な違い
  • AUTOSAR R.4.0.3仕様誤記対応
    • E_OS_PROTECTION_FATAL定義を追加して,OS_E_PARAM_POINTERをE_OS_PROTECTION_FATALとして定義するように変更
  • XMLコンテナ定義誤記修正
    • OsScheduleTableStartValueの多重度を1から0..1へ変更
  • Std_Types.hにあるATK2共通定義の移動
    • ATK2共通定義をStd_Types.hからCompiler_Cfg.hに移動
  • OS起動前に参照される可能性がある変数の初期化対応
  • GHSコンパイラの出力フォーマット対応
  • 同梱するターゲット依存部の追加
    • 株式会社北斗電子製 HSBV850E2FG4 (V850E2/FG4(-L))
    • 株式会社ゼットエムピー製 RC-Z-BASE-V850 (V850E2/FG4)
  • バージョン番号の更新
ATK2-SC1 Release 1.1.0 の Release 1.0.1 との主な違い
  • コンフィギュレータ新バージョン(1.9.2)対応
    • ジェネレータ設定ファイル(kernel_xml.ini)において、「AUTOSARスキーマのファイル名」設定値の変更
  • StartOSシステムサービスのエラーコード変更
    • OS起動後のStartOS呼出しによって実行されるエラーフックに渡すエラーコードを、E_OS_CALLEVELからE_OS_ACCESSへ変更
  • 多重割込み発生時のスタックモニタリング方式変更
    • スタックポインタチェック方式からスタック残量チェック方式に変更
  • ターゲットサンプルのコンフィギュレーションファイルtarget_test.arxml使用時コンパイルできない問題対応
  • ドキュメントの説明追加及び誤記修正
  • バージョン番号の更新
ATK2-SC1 Release 1.0.1 の Release 1.0.0 との主な違い
  • コンフィギュレータ新バージョン(1.9.1)対応
    • コンフィギュレータ設定ファイル(kernel_xml.ini)の誤記修正
    • コンフィギュレータ設定ファイル(kernel_xml.ini)のコメント修正
  • 同梱するターゲット依存部の追加
    • TOPPERSカーネル向けシミュレーション環境(SkyEye)
    • テセラ・テクノロジー株式会社製 FL-850/FL4(-S) (V850E2/FL4)
    • テセラ・テクノロジー株式会社製 FL-850/PJ4(-S) (V850E2/PJ4)
  • MISRAルール対応により、一部ソースコードを修正
  • ドキュメントの充実、コメントの修正
  • バージョン番号の更新

ATK2-SC3FL2更新履歴

ATK2-SC3 Release 1.3.2 の Release 1.3.1 との主な違い
  • 信頼関数をネストして呼び出して戻ったときに、信頼関数実行中にタスクコンテキストとプロテクションフックで判定される問題を修正
  • t_syslog.hからincludeするターゲット依存部のヘッダファイルをtarget_syslog.hに修正
  • OsMemoryModuleNameの多重度を1..*に修正
  • kernel.tfで、OsIsrInterruptSourceにDISABLEを指定した場合にエラーとなる問題を修正
  • kernel_mem.tfで、標準のdata/bsssec_inibを出力する処理を省略した際に、kernel_mem.cへの変数の出力を抑制するように修正
  • タスクディスパッチ発生時のスタックモニタリングなどにおいて、保護違反タスクを強制終了した場合にそのタスクが正常に終了されない問題を修正
  • システムサービスIDの振り直し
  • ハードウェアカウンタの割込みがセットされなくなる問題を修正
  • トレースログを有効化する設定を非依存部のsample/Makefileに移動
  • その他細かい修正
    • コメントの修正など
    • arch/logtrace/tlv.tfを削除
    • configureでシリアル通信の有効/無効を切換えられるように修正
    • sample1の修正
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.3.1 の Release 1.3.0 との主な違い
  • タスクの強制処理時に、対象タスクが操作中のカウンタの状態を戻す処理を追加
  • タスクの強制処理時に、readyキューの状態が不正となる問題を修正
  • OSAP強制処理時に、タスク強制処理の合間で割込み禁止状態を解除しないように修正
  • TerminateApplication発行時のOSAPの状態をチェックする処理を、OS割込み禁止したあとに実施するように修正
  • コンパイル時に警告が出る問題への対応
    • 拡張エラーやエラーフック有効時のみ使用するローカル変数をマクロにより無効化するように修正
    • set_event_action、activate_task_actionの返り値の型をStatusTypeとし、ercdを返すように修正(これらの関数を呼び出す際にはvoidでキャスト)
    • syslog内部でconstにキャストしている部分を修正
    • sampleのソースコードから、使用していない関数svc_perrorを削除
  • TNUM_QUEUEIOCが0の場合にioccb_tableをTOPPERS_EMPTY_LABELを用いて出力するように修正
  • OsMemorySectionInitializeにNO_INITIALIZEを指定した場合に正常に処理されない問題を修正
  • 標準のdata/bsssec_inibを出力する処理を省略可能とした
  • ディスパッチャのアイドルループにおいて、callevelを変更しないように修正
  • その他細かい修正
    • コメントの修正など
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.3.0 の Release 1.2.1 との主な違い
  • ABREX導入
    • AUTOSAR準拠のコンフィギュレーションファイルはXML形式であり,手動で作成,編集するのに不向きであるので,YAML形式で記述したコンフィギュレーション情報をXML形式へ変換するツール(ABREX)を開発した
  • 静的APIの廃止
    • SC3において,ターゲット依存部で用意するハードウェアカウンタへのアクセス権設定が困難であることから,ターゲット依存部で用意するコンフィギュレーション情報は,YAML形式として,ツール(ABREX)を用いてXMLへ変換する手法を採用した
    • これに伴い,静的APIの必要性が無くなったため,廃止した
    • 静的APIに関連するファイルを削除
  • 複数XML入力対応
    • 複数のXMLに分けてコンフィギュレーション情報を管理する際,これまではプリプロセッサの#include機能をarxmlファイルに使用して実現していたが,#includeはXMLとして標準的に使用できない記述であり,他のツールで作成したarxmlでは使用されないものであるので,プリプロセッサ用の記述を廃止した
    • プリプロセッサ廃止に伴い,ジェネレータ最新版(1.9.4)でサポートされた,XML複数入力機能を用いて,複数のXMLに分けてコンフィギュレーション情報を同時に処理できるように対応した
    • 編集用として各arxmlファイルに対応するyamlファイルを追加した
  • ハードウェアカウンタをターゲット依存部で標準サポートとする
    • AUTOSARでは,指定した時間で周期的にタスクを起動する使用方法が一般的であるため,1つ以上のハードウェアカウンタが必須であることから,ハードウェアカウンタをターゲット依存部で用意することにした
  • システムタイマを標準サポートから外す
    • システムタイマは,主にトレースログや性能評価等で時間を計測するために使用することを想定しており,AUTOSARでは必須の機能ではないため,標準の機能から外した
  • 依存部でC1ISR本体のextern宣言を制御できるように変更
    • 依存部でコンフィギュレーション関数(EXTERN_C1ISR_HANDLER)を実装することで,非依存部で出力するC1ISR本体のextern宣言を変更できるように対応した
  • ジェネレータ設定ファイル(kernel.ini)にオプション情報追加
    • 未定義パラメータチェックオプション:CheckUnknownParameter
  • Rte_Type.hインクルード対応
    • AUTOSARではシステム全体で使用するデータ型を統合して定義する仕組みがあり,定義したデータ型は,RTEジェネレータによって,Rte_Type.hに出力される
    • IOC等で,OSからシステム全体で使用するデータ型を使用するために,Rte_Os_Type.hから,Rte_Type.hをインクルードするよう対応した
    • RTEジェネレータを使用しない場合や,システム全体で使用するデータ型を使用しない場合は,空のRte_Type.hを用意する必要がある
  • 廃止コンテナ情報の削除漏れ対応
    • 不要なOsMemoryRegionAttributeパラメータ設定を削除
  • OS割込み禁止解除漏れバグの修正
    • GetAlarmBase
    • AllowAccess
    • TerminateApplication
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.2.1 の Release 1.2.0 との主な違い
  • システムサービスにおける,ポインタ渡し引数のアラインチェックを追加
  • NULLマクロの定義をCompiler_Cfg.hからkernel_impl.hへ移動
    • AUTOSARでは,NULLポインタ用マクロとして,NULL_PTR(Compiler.h)を使用する
  • kernel.tfで,PLABELを定義するように変更
  • force_terminate_task()からcancel_nontrusted_hook()の呼び出しを削除
  • 割込み禁止中に以下のシステムサービス呼び出せるように変更
    • GetTaskID
    • GetTaskState
    • GetISRID
    • GetApplicationID
    • GetApplicationState
  • 割込み禁止状態でStartOSを呼び出した場合における,割込み許可処理の修正
    • DisableAllInterruptsまたはSuspendAllInterruptsによる割込み禁止状態で,StartOSを呼び出した場合,EnableAllInterruptsまたはResumeAllInterruptsの発行と同等の処理を行なって,割込み許可状態へ遷移した上で,OSを起動するように修正
  • TerminateApplicationの割込み禁止状態への対応
  • OS内部関数名の変更
    • get_reltick_api → get_reltick
    • get_abstick_api → get_abstick
  • 信頼/非信頼マクロ定義の追加
    • TOPPERS_TRUSTED:関数呼出しによるシステムサービスの実行
    • TOPPERS_NON_TRUSTED:ソフトウェア割込みによるシステムサービスの実行
  • OS割込み禁止解除関数が2回呼ばれるバグの修正
    • GetCounterValue
    • GetElapsedValue
  • IOC初期化ブロックに送受信データのアラインサイズ情報を追加
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.2.0 の Release 1.1.0 との主な違い
  • SC3FL2の機能拡張に伴い,OSAPの終了/再起動をサポート
  • コンフィギュレーションにおいて,他のOSAPから非信頼OSAP所属カウンタへの関連付け禁止するように変更
  • AUTOSAR R.4.0.3仕様誤記対応
    • E_OS_PROTECTION_FATAL定義を追加して,OS_E_PARAM_POINTERをE_OS_PROTECTION_FATALとして定義するように変更
  • XMLコンテナ定義誤記修正
    • OsSchTblAccesingApplicationをOsSchTblAccessingApplicationへ変更
    • OsScheduleTableStartValueの多重度を1から0..1へ変更
  • Std_Types.hにあるATK2共通定義の移動
    • ATK2共通定義をStd_Types.hからCompiler_Cfg.hに移動
  • OS起動前に参照される可能性がある変数の初期化対応
  • コンフィギュレーションにおけるバグ修正
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.1.0 の Release 1.0.1 との主な違い
  • コンフィギュレータ新バージョン(1.9.2)対応
    • ジェネレータ設定ファイル(kernel_xml.ini)において、「AUTOSARスキーマのファイル名」設定値の変更
  • StartOSシステムサービスのエラーコード変更
    • OS起動後のStartOS呼出しによって実行されるエラーフックに渡すエラーコードを、E_OS_CALLEVELからE_OS_ACCESSへ変更
  • 多重割込み発生時のスタックモニタリング方式変更
    • スタックポインタチェック方式からスタック残量チェック方式に変更
  • IOC機能の追加
    • OSAP間通信するための機能を新規追加
  • HRP2のメモリ保護ロジックの追従
    • メモリオブジェクトのメモリ配置方法をHRP2に合わせた
    • メモリリージョン指定仕様の変更
  • ターゲットサンプルのコンフィギュレーションファイルtarget_test.arxml使用時コンパイルできない問題対応
  • ドキュメントの説明追加及び誤記修正
  • バージョン番号の更新
ATK2-SC3FL2 Release 1.0.1 の Release 1.0.0 との主な違い
  • コンフィギュレータ新バージョン(1.9.1)対応
    • コンフィギュレータ設定ファイル(kernel_xml.ini)の誤記修正
    • コンフィギュレータ設定ファイル(kernel_xml.ini)のコメント修正
  • シャットダウンフック中のCPU例外処理の実装漏れ対応
  • MISRAルール対応により、一部ソースコードを修正
  • ドキュメントの充実、コメントの修正
  • バージョン番号の更新

ATK2-SC1-MC更新履歴

ATK2-SC1-MC Release 1.2.2 の Release 1.2.1 との主な違い
  • システムサービスIDの振り直し
  • ハードウェアカウンタの割込みがセットされなくなる問題を修正
  • kernel.tfで、OMIT_CHECK_DEADLOCK_SPINLOCKを定義せず、OsSpinlockSuccessorを省略した場合にエラーとなる問題を修正
  • トレースログを有効化する設定を非依存部のsample/Makefileに移動
  • その他細かい修正
    • コメントの修正など
    • arch/logtrace/tlv.tfを削除
    • configureでシリアル通信の有効/無効を切換えられるように修正
    • sample1の修正
  • バージョン番号の更新
ATK2-SC1-MC Release 1.2.1 の Release 1.2.0 との主な違い
  • get_my_p_ccbで、p_ccb_tableからp_ccbを取得するように、デフォルトの関数定義を修正
    • x_ccb_adrを削除し、ターゲット依存部でget_my_p_ccbを定義できるように修正
    • OMIT_GET_MY_P_CCBを定義したうえで、get_my_p_ccbを定義
  • コンパイル時に警告が出る問題への対応
    • 拡張エラー有効時のみ使用するローカル変数をマクロにより無効化するように修正
    • set_event_action、activate_task_actionの返り値の型をStatusTypeとし、ercdを返すように修正(これらの関数を呼び出す際にはvoidでキャスト)
    • syslog内部でconstにキャストしている部分を修正
    • sampleのソースコードから、使用していない関数svc_perrorを削除
  • プロテクションフックの設定を省略した場合にエラーとなる問題を修正
  • TNUM_QUEUEIOCが0の場合にioccb_tableをTOPPERS_EMPTY_LABELを用いて出力するように修正
  • interrupt_initializeにおいて、すべての割込み要求ラインに対してx_config_intを呼び出すように修正し、x_config_intの引数にcoreidを渡すように修正
  • ディスパッチャのアイドルループにおいて、callevelを変更しないように修正
  • その他細かい修正
    • コメントの修正など
  • バージョン番号の更新
ATK2-SC1-MC Release 1.2.0 の Release 1.1.1 との主な違い
  • ABREX導入
    • AUTOSAR準拠のコンフィギュレーションファイルはXML形式であり,手動で作成,編集するのに不向きであるので,YAML形式で記述したコンフィギュレーション情報をXML形式へ変換するツール(ABREX)を開発した
  • 静的APIの廃止
    • SC3において,ターゲット依存部で用意するハードウェアカウンタへのアクセス権設定が困難であることから,ターゲット依存部で用意するコンフィギュレーション情報は,YAML形式として,ツール(ABREX)を用いてXMLへ変換する手法を採用した
    • これに伴い,静的APIの必要性が無くなったため,廃止した
    • 静的APIに関連するファイルを削除
  • 複数XML入力対応
    • 複数のXMLに分けてコンフィギュレーション情報を管理する際,これまではプリプロセッサの#include機能をarxmlファイルに使用して実現していたが,#includeはXMLとして標準的に使用できない記述であり,他のツールで作成したarxmlでは使用されないものであるので,プリプロセッサ用の記述を廃止した
    • プリプロセッサ廃止に伴い,ジェネレータ最新版(1.9.4)でサポートされた,XML複数入力機能を用いて,複数のXMLに分けてコンフィギュレーション情報を同時に処理できるように対応した
    • 編集用として各arxmlファイルに対応するyamlファイルを追加した
  • ハードウェアカウンタをターゲット依存部で標準サポートとする
    • AUTOSARでは,指定した時間で周期的にタスクを起動する使用方法が一般的であるため,1つ以上のハードウェアカウンタが必須であることから,ハードウェアカウンタをターゲット依存部で用意することにした
  • システムタイマを標準サポートから外す
    • システムタイマは,主にトレースログや性能評価等で時間を計測するために使用することを想定しており,AUTOSARでは必須の機能ではないため,標準の機能から外した
  • 依存部でC1ISR本体のextern宣言を制御できるように変更
    • 依存部でコンフィギュレーション関数(EXTERN_C1ISR_HANDLER)を実装することで,非依存部で出力するC1ISR本体のextern宣言を変更できるように対応した
  • ジェネレータ設定ファイル(kernel.ini)にオプション情報追加
    • 未定義パラメータチェックオプション:CheckUnknownParameter
  • Rte_Type.hインクルード対応
    • AUTOSARではシステム全体で使用するデータ型を統合して定義する仕組みがあり,定義したデータ型は,RTEジェネレータによって,Rte_Type.hに出力される
    • IOC等で,OSからシステム全体で使用するデータ型を使用するために,Rte_Os_Type.hから,Rte_Type.hをインクルードするよう対応した
    • RTEジェネレータを使用しない場合や,システム全体で使用するデータ型を使用しない場合は,空のRte_Type.hを用意する必要がある
  • OS内部管理データ(レディキュー)の不整合の修正
    • コアAのタスクからTerminateTask()を発行するのと同時に,他のコアでコアAの高優先度タスクに対してActivateTask()が発行された場合に,TerminateTaskで終了したタスクが,レディキューに戻される不具合を修正
    • コアAでタスクがReleaseResource()を実行している間に,他コアでコアAの高優先度タスクに対してActivateTask()を発行した場合に,タスクがリソースを解放したにも関わらず,リソース確保時の優先度のレディキューに戻される不具合を修正
  • バージョン番号の更新
ATK2-SC1-MC Release 1.1.1 の Release 1.1.0 との主な違い
  • NULLマクロの定義をCompiler_Cfg.hからkernel_impl.hへ移動
    • AUTOSARでは,NULLポインタ用マクロとして,NULL_PTR(Compiler.h)を使用する
  • 割込み禁止中に以下のシステムサービス呼び出せるように変更
    • GetTaskID
    • GetTaskState
    • GetISRID
    • GetApplicationID
  • OsOSにOsMasterCoreIdサブコンテナを新設
    • RTEでマスタコアIDを判別するため,XMLのコンフィギュレーションにおいて,OsOSコンテナにOsMasterCoreIdサブコンテナを新設した
  • OS内部関数名の変更
    • get_reltick_api → get_reltick
    • get_abstick_api → get_abstick
  • バージョン番号の更新
ATK2-SC1-MC Release 1.1.0 の Release 1.0.2 との主な違い
  • AUTOSAR R.4.0.3仕様誤記対応
    • E_OS_PROTECTION_FATAL定義を追加して,OS_E_PARAM_POINTERをE_OS_PROTECTION_FATALとして定義するように変更
  • XMLコンテナ定義誤記修正
    • OsScheduleTableStartValueの多重度を1から0..1へ変更
  • Std_Types.hにあるATK2共通定義の移動
    • ATK2共通定義をStd_Types.hからCompiler_Cfg.hに移動
  • OS起動前に参照される可能性がある変数の初期化対応
  • プロテクションフックからスピンロック取得できるように変更
  • バージョン番号の更新
ATK2-SC1-MC Release 1.0.2 の Release 1.0.1 との主な違い
  • C2ISRとICISRでリソース共有をした場合,C2ISRのほうが割込み優先度が高い場合であっても,ICISRの割込み優先度がリソースの上限優先度として設定されてしまう問題を修正
  • 外部仕様書と合致していないコンテナ名,設定値名を修正
    • OsSpinlockWrapSuspendInterrupt → OsSpinlockLockMethod
    • DO_NOT_CARE → LOCK_NOTHING
    • SUSPEND_OS → LOCK_CAT2_INTERRUPTS
    • SUSPEND_ALL → LOCK_ALL_INTERRUPTS
  • バージョン番号の更新
ATK2-SC1-MC Release 1.0.1 の Release 1.0.0 との主な違い
  • 標準エラーでIOCを使用すると,コンパイルエラーになる問題を修正
  • StartCore,StartNonAutosarCoreにおける標準エラー時の問題を修正
    • 実行結果にE_OKが代入されない
    • トレースログ開始マクロが実行されない
  • サンプルプログラムの細かな修正
    • サンプルプログラムのOS起動ロジックを変更
    • ENUM型変数をENUM値以外の値で初期化している箇所を修正
  • GHSコンパイラの出力フォーマット対応
  • バージョン番号の更新

ATK2-SC3FL2-MC更新履歴

ATK2-SC3-MC Release 1.2.2 の Release 1.2.1 との主な違い
  • 信頼関数をネストして呼び出して戻ったときに、信頼関数実行中にタスクコンテキストとプロテクションフックで判定される問題を修正
  • t_syslog.hからincludeするターゲット依存部のヘッダファイルをtarget_syslog.hに修正
  • OsMemoryModuleNameの多重度を1..*に修正
  • kernel.tfで、OsIsrInterruptSourceにDISABLEを指定した場合にエラーとなる問題を修正
  • kernel.tfで、OMIT_CHECK_DEADLOCK_SPINLOCKを定義せず、OsSpinlockSuccessorを省略した場合にエラーとなる問題を修正
  • kernel_mem.tfで、標準のdata/bsssec_inibを出力する処理を省略した際に、kernel_mem.cへの変数の出力を抑制するように修正
  • タスクディスパッチ発生時のスタックモニタリングなどにおいて、保護違反タスクを強制終了した場合にそのタスクが正常に終了されない問題を修正
  • システムサービスIDの振り直し
  • ハードウェアカウンタの割込みがセットされなくなる問題を修正
  • トレースログを有効化する設定を非依存部のsample/Makefileに移動
  • その他細かい修正
    • コメントの修正など
    • arch/logtrace/tlv.tfを削除
    • configureでシリアル通信の有効/無効を切換えられるように修正
    • sample1の修正
  • バージョン番号の更新
ATK2-SC3-MC Release 1.2.1 の Release 1.2.0 との主な違い
  • タスクの強制処理時に、対象タスクが操作中のカウンタの状態を戻す処理を追加
  • タスクの強制処理時に、readyキューの状態が不正となる問題を修正
  • OSAP強制処理時に、タスク強制処理の合間で割込み禁止状態を解除しないように修正
  • get_my_p_ccbで、p_ccb_tableからp_ccbを取得するように、デフォルトの関数定義を修正
    • x_ccb_adrを削除し、ターゲット依存部でget_my_p_ccbを定義できるように修正
    • OMIT_GET_MY_P_CCBを定義したうえで、get_my_p_ccbを定義
  • コンパイル時に警告が出る問題への対応
    • 拡張エラーやエラーフック有効時のみ使用するローカル変数をマクロにより無効化するように修正
    • set_event_action、activate_task_actionの返り値の型をStatusTypeとし、ercdを返すように修正(これらの関数を呼び出す際にはvoidでキャスト)
    • syslog内部でconstにキャストしている部分を修正
    • sampleのソースコードから、使用していない関数svc_perrorを削除
  • TNUM_QUEUEIOCが0の場合にioccb_tableをTOPPERS_EMPTY_LABELを用いて出力するように修正
  • OsMemorySectionInitializeにNO_INITIALIZEを指定した場合に正常に処理されない問題を修正
  • 標準のdata/bsssec_inibを出力する処理を省略可能とした
  • interrupt_initializeにおいて、すべての割込み要求ラインに対してx_config_intを呼び出すように修正し、x_config_intの引数にcoreidを渡すように修正
  • ディスパッチャのアイドルループにおいて、callevelを変更しないように修正
  • その他細かい修正
    • コメントの修正など
  • バージョン番号の更新
ATK2-SC3-MC Release 1.2.0 の Release 1.1.1 との主な違い
  • ABREX導入
    • AUTOSAR準拠のコンフィギュレーションファイルはXML形式であり,手動で作成,編集するのに不向きであるので,YAML形式で記述したコンフィギュレーション情報をXML形式へ変換するツール(ABREX)を開発した
  • 静的APIの廃止
    • SC3において,ターゲット依存部で用意するハードウェアカウンタへのアクセス権設定が困難であることから,ターゲット依存部で用意するコンフィギュレーション情報は,YAML形式として,ツール(ABREX)を用いてXMLへ変換する手法を採用した
    • これに伴い,静的APIの必要性が無くなったため,廃止した
    • 静的APIに関連するファイルを削除
  • 複数XML入力対応
    • 複数のXMLに分けてコンフィギュレーション情報を管理する際,これまではプリプロセッサの#include機能をarxmlファイルに使用して実現していたが,#includeはXMLとして標準的に使用できない記述であり,他のツールで作成したarxmlでは使用されないものであるので,プリプロセッサ用の記述を廃止した
    • プリプロセッサ廃止に伴い,ジェネレータ最新版(1.9.4)でサポートされた,XML複数入力機能を用いて,複数のXMLに分けてコンフィギュレーション情報を同時に処理できるように対応した
    • 編集用として各arxmlファイルに対応するyamlファイルを追加した
  • ハードウェアカウンタをターゲット依存部で標準サポートとする
    • AUTOSARでは,指定した時間で周期的にタスクを起動する使用方法が一般的であるため,1つ以上のハードウェアカウンタが必須であることから,ハードウェアカウンタをターゲット依存部で用意することにした
  • システムタイマを標準サポートから外す
    • システムタイマは,主にトレースログや性能評価等で時間を計測するために使用することを想定しており,AUTOSARでは必須の機能ではないため,標準の機能から外した
  • 依存部でC1ISR本体のextern宣言を制御できるように変更
    • 依存部でコンフィギュレーション関数(EXTERN_C1ISR_HANDLER)を実装することで,非依存部で出力するC1ISR本体のextern宣言を変更できるように対応した
  • ジェネレータ設定ファイル(kernel.ini)にオプション情報追加
    • 未定義パラメータチェックオプション:CheckUnknownParameter
  • Rte_Type.hインクルード対応
    • AUTOSARではシステム全体で使用するデータ型を統合して定義する仕組みがあり,定義したデータ型は,RTEジェネレータによって,Rte_Type.hに出力される
    • IOC等で,OSからシステム全体で使用するデータ型を使用するために,Rte_Os_Type.hから,Rte_Type.hをインクルードするよう対応した
    • RTEジェネレータを使用しない場合や,システム全体で使用するデータ型を使用しない場合は,空のRte_Type.hを用意する必要がある
  • 廃止コンテナ情報の削除漏れ対応
    • 不要なOsMemoryRegionAttributeパラメータ設定を削除
  • OS内部管理データ(レディキュー)の不整合の修正
    • コアAのタスクからTerminateTask()を発行するのと同時に,他のコアでコアAの高優先度タスクに対してActivateTask()が発行された場合に,TerminateTaskで終了したタスクが,レディキューに戻される不具合を修正
    • コアAでタスクがReleaseResource()を実行している間に,他コアでコアAの高優先度タスクに対してActivateTask()を発行した場合に,タスクがリソースを解放したにも関わらず,リソース確保時の優先度のレディキューに戻される不具合を修正
  • バージョン番号の更新
ATK2-SC3-MC Release 1.1.1 の Release 1.1.0 との主な違い
  • システムサービスにおける,ポインタ渡し引数のアラインチェックを追加
  • NULLマクロの定義をCompiler_Cfg.hからkernel_impl.hへ移動
    • AUTOSARでは,NULLポインタ用マクロとして,NULL_PTR(Compiler.h)を使用する
  • kernel.tfで,PLABELを定義するように変更
  • force_terminate_task()からcancel_nontrusted_hook()の呼び出しを削除
  • 割込み禁止中に以下のシステムサービス呼び出せるように変更
    • GetTaskID
    • GetTaskState
    • GetISRID
    • GetApplicationID
    • GetApplicationState
  • OsOSにOsMasterCoreIdサブコンテナを新設
    • RTEでマスタコアIDを判別するため,XMLのコンフィギュレーションにおいて,OsOSコンテナにOsMasterCoreIdサブコンテナを新設した
  • TerminateApplicationの割込み禁止状態への対応
  • OS内部関数名の変更
    • get_reltick_api → get_reltick
    • get_abstick_api → get_abstick
  • 信頼/非信頼マクロ定義の追加
    • TOPPERS_TRUSTED:関数呼出しによるシステムサービスの実行
    • TOPPERS_NON_TRUSTED:ソフトウェア割込みによるシステムサービスの実行
  • OS割込み禁止解除関数が2回呼ばれるバグの修正
    • GetCounterValue
    • GetElapsedValue
    • GetAlarmBase
  • IOC初期化ブロックに送受信データのアラインサイズ情報を追加
  • バージョン番号の更新
ATK2-SC3-MC Release 1.1.0 の Release 1.0.2 との主な違い
  • SC3FL2の機能拡張に伴い,OSAPの終了/再起動をサポート
  • コンフィギュレーションにおいて,他のOSAPから非信頼OSAP所属カウンタへの関連付け禁止するように変更
  • AUTOSAR R.4.0.3仕様誤記対応
    • E_OS_PROTECTION_FATAL定義を追加して,OS_E_PARAM_POINTERをE_OS_PROTECTION_FATALとして定義するように変更
  • XMLコンテナ定義誤記修正
    • OsSchTblAccesingApplicationをOsSchTblAccessingApplicationへ変更
    • OsScheduleTableStartValueの多重度を1から0..1へ変更
  • Std_Types.hにあるATK2共通定義の移動
    • ATK2共通定義をStd_Types.hからCompiler_Cfg.hに移動
  • OS起動前に参照される可能性がある変数の初期化対応
  • プロテクションフックからスピンロック取得できるように変更
  • StartCore/StartNonAutosarCoreのStatusにアクセス権のない呼び出しを行う場合の,エラーコードをE_OS_ACCESSからE_OS_ILLEGAL_ADDRESSに変更
  • コンフィギュレーションにおけるバグ修正
  • バージョン番号の更新
ATK2-SC3-MC Release 1.0.2 の Release 1.0.1 との主な違い
  • C2ISRとICISRでリソース共有をした場合,C2ISRのほうが割込み優先度が高い場合であっても,ICISRの割込み優先度がリソースの上限優先度として設定されてしまう問題を修正
  • 外部仕様書と合致していないコンテナ名,設定値名を修正
    • OsSpinlockWrapSuspendInterrupt → OsSpinlockLockMethod
    • DO_NOT_CARE → LOCK_NOTHING
    • SUSPEND_OS → LOCK_CAT2_INTERRUPTS
    • SUSPEND_ALL → LOCK_ALL_INTERRUPTS
  • バージョン番号の更新
ATK2-SC3FL2-MC Release 1.0.1 の Release 1.0.0 との主な違い
  • 非信頼フックスタックの自動確保処理の不具合を修正
    • コア1の非信頼フック用スタックを自動確保する時,配置セクションの属性が付与されない
    • OSAPの割付けコアを指定するときにマクロを使用して,非信頼フック用スタックのコンテナが省略された場合,非信頼フック用スタックを自動確保できない
  • サンプルプログラムの細かな修正
    • サンプルプログラムのOS起動ロジックを変更
    • ENUM型変数をENUM値以外の値で初期化している箇所を修正
  • GHSコンパイラの出力フォーマット対応
  • バージョン番号の更新

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

Tweets by ToppersJP


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