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/AKTSP
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新世代カーネル)
TA2LIB
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