
		TOPPERS/ATK2-SC1-MC
        ＜変更履歴＞

このドキュメントは，ATK2-SC1-MCのRelease 1.0.0以降の変更履歴を，新しい方
から順に記述したものである．

----------------------------------------------------------------------
TOPPERS ATK2
    Toyohashi Open Platform for Embedded Real-Time Systems
    Automotive Kernel Version 2

Copyright (C) 2011-2017 by Center for Embedded Computing Systems
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2011-2017 by FUJI SOFT INCORPORATED, JAPAN
Copyright (C) 2011-2013 by Spansion LLC, USA
Copyright (C) 2011-2017 by NEC Communication Systems, Ltd., JAPAN
Copyright (C) 2011-2016 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
Copyright (C) 2011-2014 by Renesas Electronics Corporation, JAPAN
Copyright (C) 2011-2016 by Sunny Giken Inc., JAPAN
Copyright (C) 2011-2017 by TOSHIBA CORPORATION, JAPAN
Copyright (C) 2011-2017 by Witz Corporation
Copyright (C) 2014-2016 by AISIN COMCRUISE Co., Ltd., JAPAN
Copyright (C) 2014-2016 by eSOL Co.,Ltd., JAPAN
Copyright (C) 2014-2017 by SCSK Corporation, JAPAN
Copyright (C) 2015-2017 by SUZUKI MOTOR CORPORATION

上記著作権者は，以下の (1)〜(3)の条件を満たす場合に限り，本ドキュメ
ント（本ドキュメントを改変したものを含む．以下同じ）を使用・複製・改
変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
(1) 本ドキュメントを利用する場合には，上記の著作権表示，この利用条件
    および下記の無保証規定が，そのままの形でドキュメント中に含まれて
    いること．
(2) 本ドキュメントを改変する場合には，ドキュメントを改変した旨の記述
    を，改変後のドキュメント中に含めること．ただし，改変後のドキュメ
    ントが，TOPPERSプロジェクト指定の開発成果物である場合には，この限
    りではない．
(3) 本ドキュメントの利用により直接的または間接的に生じるいかなる損害
    からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
    本ドキュメントのユーザまたはエンドユーザからのいかなる理由に基づ
    く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．

本ドキュメントは，AUTOSAR（AUTomotive Open System ARchitecture）仕様
に基づいている．上記の許諾は，AUTOSARの知的財産権を許諾するものではな
い．AUTOSARは，AUTOSAR仕様に基づいたソフトウェアを商用目的で利用する
者に対して，AUTOSARパートナーになることを求めている．

本ドキュメントは，無保証で提供されているものである．上記著作権者およ
びTOPPERSプロジェクトは，本ドキュメントに関して，特定の使用目的に対す
る適合性も含めて，いかなる保証も行わない．また，本ドキュメントの利用
により直接的または間接的に生じたいかなる損害に関しても，その責任を負
わない．

$Id: version.txt 735 2017-01-24 08:37:34Z witz-itoyo $
----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.4.1 から 1.4.2 への変更点
		リリース日 2017-02-28

○変更点のリスト
・OsAlarmとOsScheduleTableにおいて、コンフィギュレーション時に指定した
  自動起動種別設定が反映されない不具合を修正

・リソースの上限優先度に関する不具合修正

・SuspendOSInterrupts/ResumeOSInterruptsをOS処理レベル以上で動作する処
  理単位から呼び出した場合，何もしないように修正

・カーネルのグローバルな変数，関数に対してプレフィックス"kernel_"をつけ
  てリネームする仕組みを導入

・その他細かい修正
    - MISRA-C対応
    - コメントの修正

○ターゲット依存部の要修正箇所（1.4.1 → 1.4.2）
・ターゲット依存部にリネーム用のヘッダファイルを用意する

・x_suspned_lock_os_int，x_resume_unlock_os_intを削除する

・cfg1_out.cのリンクに必要なスタブの定義ファイルにおけるスタブのシンボ
  ル名をリネームする
----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.4.0 から 1.4.1 への変更点
		リリース日 2016-03-24

○変更点のリスト

・OsApplication/OsTrustedコンテナパラメータのサポート
 - 本仕様変更に伴い，OsTrustedコンテナパラメータの設定が必要
 - また，ジェネレータでOsTrustedがtrueであることをチェックするようにした．

・IOCのプロパティでMACROが指定された場合，
　関数宣言をターゲット依存部で置きかえれるように修正
----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.2.2 から 1.4.0 への変更点
		リリース日 2015-12-25

○変更点のリスト

・システムサービスDisableInterruptSource，EnableInterruptSourceのサポート
 - 本変更に伴い，OsIsrコンテナにおいて，OsIsrInterruptSourceの設定が必要
 - ターゲット依存部で，特定の割込み要求ラインに対して割込み禁止/許可が
 　可能であるかを定義するようにしているため，割込み禁止/許可が可能でない
 　割込み要求ラインに対して，OsIsrInterruptSourceをDISABLEに設定していた
 　場合，ジェネレータはエラーを出力する

・フックルーチンに対するサービス保護機能の削除

・コンフィギュレーション時にフックルーチンを使用する設定にしたにも関わらず，
　フックルーチンを定義していない場合，リンク時にエラーとなるように修正

・文字コードをEUC-JPからUTF-8に変更

・全SCでエラーコードの統一

・ジェネレータで先頭番地についてチェックする対象を，
　コンフィギュレーションで指定されたスタックの先頭番地のみに修正

・ネイティブロック方式のサポート

・relase_isrspinlocksとreleasetaskspinlocksをforce_release_spinlocksで一本化

・スケジュールテーブルの最終遅延についてジェネレータ不具合を修正

・その他細かい修正
 - MISRAルール対応
 - カウンタnspertickの出力を整数化
 - コメントの修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.2.2 → 1.4.0）

・Disable/EnableInterruptSourceで，特定の割込み要求ラインを有効/無効に出来るか
  どうかはターゲットに依存するため，ターゲット依存部に特定の割込み要求ラインが
  有効/無効に出来るかどうか，チェックする関数としてtarget_is_int_controllableを用意

・フックルーチンが定義されていなかった場合，先頭アドレスに対して0番地を与える処理の削除

・ネイティブロック方式のサポート

・エミュレーション方式でスピンロックを実現する場合，スピンロックロックを
　取得し直す間に待ち時間を設ける関数として，wait_spn_lockを用意

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.2.1 から 1.2.2 への変更点
		リリース日 2015-03-30

○変更点のリスト

・システムサービスIDの振り直し

・ハードウェアカウンタの割込みがセットされなくなる問題を修正

・トレースログを有効化する設定を非依存部のsample/Makefileに移動

・kernel.tfで，OMIT_CHECK_DEADLOCK_SPINLOCKを定義せず，OsSpinlockSuccessor
　を省略した場合にエラーとなる問題を修正

・その他細かい修正
	- コメントの修正など
    - arch/logtrace/tlv.tfを削除
    - configureでシリアル通信の有効/無効を切換えられるように修正
    - sample1の修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.2.1 → 1.2.2）

・Platform_Types.h で，stdint.h をincludeするように修正
	- INT64_MAXの定義をターゲット依存で追加する

・トレースログを有効化する設定をターゲット依存部のMakefileから
　削除

・sample1のために，target_test.hで，sample1で使用するハードウェア
　カウンタから約1秒でアラームを起動するために，約1秒に相当する
　ハードウェアカウンタのティック値をCOUNTER_MIN_CYCLEマクロに定義

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.2.0 から 1.2.1 への変更点
		リリース日 2014-09-30

○変更点のリスト

・get_my_p_ccbで，p_ccb_tableからp_ccbを取得するように，デフォルトの
  関数定義を修正

・コンパイル時に警告が出る問題への対応
	- 拡張エラー有効時のみ使用するローカル変数をマクロにより無効化する
	  ように修正
	- set_event_action，activate_task_actionの返り値の型をStatusTypeとし，
	  ercdを返すように修正（これらの関数を呼び出す際にはvoidでキャスト）
	- syslog内部でconstにキャストしている部分を修正
	- sampleのソースコードから，使用していない関数svc_perrorを削除

・プロテクションフックの設定を省略した場合にエラーとなる問題を修正

・TNUM_QUEUEIOCが0の場合にioccb_tableをTOPPERS_EMPTY_LABELを用いて出力
  するように修正

・その他細かい修正
	- コメントの修正など

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.2.0 → 1.2.1）

・x_ccb_adrを削除し，ターゲット依存部でget_my_p_ccbを定義できるように
  修正
    - OMIT_GET_MY_P_CCBを定義したうえで，get_my_p_ccbを定義

・interrupt_initializeにおいて，すべての割込み要求ラインに対してx_config_int
  を呼び出すように修正し，x_config_intの引数にcoreidを渡すように修正
    - x_config_intに引数coreidを追加し，必要ならば，coreidをもとに，実際に
	  割込み要求ラインの設定を実施するかどうかの判定処理を追加する

・ディスパッチャのアイドルループにおいて，callevelを変更しないように
　修正

----------------------------------------------------------------------
			ATK2-SC1-MC
		Release 1.1.1 から 1.2.0 への変更点
		リリース日 2014-03-12

○変更点のリスト

・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()を発行した場合に，タスクが
	  リソースを解放したにも関わらず，リソース確保時の優先度のレディキ
	  ューに戻される不具合を修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.1.1 → 1.2.0）

・静的APIに関連するファイル，設定を削除

・複数XML入力対応
	- 依存部で用意するarxmlファイルに対応するyamlファイルを追加
	- 統合可能なarxmlファイルを1つにまとめた

・ハードウェアカウンタ追加
	- target_hw_counter.c|.h|.cfg|.arxml
	- target_test.c|.h|.cfg|.arxmlで実現している場合，ハードウェアカウ
	  ンタ部分のみ切り出す
	- デフォルトでtarget_timer.oをビルド対象としていた箇所を
	  target_hw_counter.oへ変更

・システムタイマのオプション化
	- Makefileに新設したENABLE_SYS_TIMERがtrueの場合のみ，システムタイ
	  マ用オブジェクト(target_timer.o等)をビルド対象とする

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.1.0 から 1.1.1 への変更点
		リリース日 2013-12-26

○変更点のリスト

・NULLマクロの定義をCompiler_Cfg.hからkernel_impl.hへ移動
	- AUTOSARでは，NULLポインタ用マクロとして，NULL_PTR(Compiler.h)を
	  使用する

・割込み禁止中にGet系システムサービス呼び出せるように変更
	- 対象となるシステムサービスリスト
	  GetTaskID
	  GetTaskState
	  GetISRID
	  GetApplicationID

・OsOSにOsMasterCoreIdサブコンテナを新設
	- RTEでマスタコアIDを判別するため，XMLのコンフィギュレーションにお
	  いて，OsOSコンテナにOsMasterCoreIdサブコンテナを新設した

・OS内部関数名の変更
	- get_reltick_api → get_reltick
	- get_abstick_api → get_abstick

・その他細かい修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.1.0 → 1.1.1）

特になし

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.0.2 から 1.1.0 への変更点
		リリース日 2013-10-11

○変更点のリスト

・AUTOSAR R.4.0.3仕様誤記対応
	- E_OS_PROTECTION_FATAL定義を追加して，OS_E_PARAM_POINTERを
	  E_OS_PROTECTION_FATALとして定義するように変更

・XMLコンテナ定義誤記対応
	- OsScheduleTableStartValueの多重度を1から0..1へ変更

・StartOSシステムサービスのエラーコード変更
	- OS起動後のStartOS呼出しによって実行されるエラーフックに
	  渡すエラーコードは，E_OS_CALLEVELからE_OS_ACCESSへ変更

・Std_Types.hにあるATK2共通定義の移動
	- ATK2共通定義をStd_Types.hからCompiler_Cfg.hに移動

・OS起動前に参照される可能性がある変数の初期化対応
	- OS起動前に参照される可能性がある変数を定義時に0初期化して，BSSに
	  配置するように実装変更
	- OS起動前に参照される可能性がある変数がOS起動時に再度初期化しない
	  ように変更

・プロテクションフックからスピンロック取得できるように変更
	- 通信処理において，プロテクションフックからもスピンロックを獲得
	  したいニーズがあるため，機能拡張した

・MISRAルール対応により，一部ソースコードを修正した

・その他細かい修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所（1.0.2 → 1.1.0）

・Std_Types.hにあったatk2共通定義の追加
	- atk2共通定義をCompiler_Cfg.hに追加

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.0.1 から 1.0.2 への変更点
		リリース日 2013-07-17

○変更点のリスト

・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.0 から 1.0.1 への変更点
		リリース日 2013-07-03

○変更点のリスト

・標準エラーでIOCを使用すると，コンパイルエラーになる問題を修正

・StartCore，StartNonAutosarCoreにおける標準エラー時の問題を修正
	- 実行結果にE_OKが代入されない
	- トレースログ開始マクロが実行されない

・サンプルプログラムにあるOS起動処理が，マスタコアがOS_CORE_ID_0である
  必要がある問題に対応
	- サンプルプログラムにあるOS起動ロジックを変更

・GHSコンパイラの出力フォーマット対応
	- GHSコンパイラの出力フォーマットを対応するため，makedepを拡張

・サンプルプログラム不適切な変数初期化値の変更
	- ENUM型変数をENUM値以外の値で初期化している箇所を修正

・バージョン番号の更新

○ターゲット依存部の要修正箇所

----------------------------------------------------------------------
		ATK2-SC1-MC
		Release 1.0.0
		リリース日 2013-06-28

○変更点のリスト

○ターゲット依存部の要修正箇所

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