
	TOPPERS/A-WDG 外部仕様書

本ドキュメントは，AUTOSAR仕様をベースとしたA-WDGの外部仕様を説明するも
のである．

----------------------------------------------------------------------
TOPPERS/A-WDG
    Automotive Watchdog Driver

Copyright (C) 2014-2015 by Center for Embedded Computing Systems
                           Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2014-2015 by AISIN COMCRUISE Co., Ltd., JAPAN
Copyright (C) 2014-2015 by FUJI SOFT INCORPORATED, JAPAN
Copyright (C) 2014-2015 by NEC Communication Systems, Ltd., JAPAN
Copyright (C) 2014-2015 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
Copyright (C) 2014-2015 by SCSK Corporation, JAPAN
Copyright (C) 2014-2015 by Sunny Giken Inc., JAPAN
Copyright (C) 2014-2015 by TOSHIBA CORPORATION, JAPAN
Copyright (C) 2014-2015 by Witz Corporation

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

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

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

$Id: wdg_spec.txt 3492 2017-03-14 05:45:23Z suzuki-kawaguchi $
----------------------------------------------------------------------

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(1) 概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A-WDGは，AUTOSARの以下の仕様に準拠して開発する．
Specification of Watchdog Driver V2.5.0 R4.0 Rev 3

また，AUTOSAR Watchdog Driverはターゲット依存のソフトウェアであるが，冗
長コードの削減とポーティング容易性を高めるため，ATK2同様，ターゲット非依存
部と，依存部に分けてコード管理する．
ソースコード中の仕様タグの意味は以下のとおりである．
・[WDGxxx]：要求タグ
・<WDGxxx>：未対応とした要求タグ

Wdgモジュールの各機能のサポート有無は，ターゲットに依存するため，本ドキ
ュメントでは言及しない．各ターゲット依存部内のドキュメントを参照すること．

本ドキュメントでは，AUTOSAR仕様の中で，ターゲット非依存部におけるA-WDG
のサポート/未サポート仕様，追加/改変した仕様，曖昧な仕様の解釈を説明する．

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(2) サポートする機能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
———————————————————————————————————
(2.1) 機能
———————————————————————————————————
＜機能一覧＞
・初期化
・モード変更
・トリガコンディション設定
・バージョン情報取得
・DEM通知
・DET通知

———————————————————————————————————
(2.2) パラメータコンテナ
———————————————————————————————————
■WdgDemEventParameterRefs
  ▼WDG_E_DISABLE_REJECTED
  ▼WDG_E_MODE_FAILED
■WdgGeneral
  ▼WdgDevErrorDetect
  ▼WdgDisableAllowed
  ▼WdgIndex
  ▼WdgInitialTimeout
  ▼WdgMaxTimeout
  ▼WdgRunArea
  ▼WdgTriggerLocation
  ▼WdgVersionInfoApi
■WdgPublishedInformation
  ▼WdgTriggerMode
■WdgSettingsConfig
  ▼WdgDefaultMode
  ▼WdgSettingsFast
  ▼WdgSettingsOff
  ▼WdgSettingsSlow

———————————————————————————————————
(2.3) システムサービス
———————————————————————————————————
・Wdg_Init
・Wdg_SetMode
・Wdg_SetTriggerCondition
・Wdg_GetVersionInfo

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(3) サポートしない機能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
———————————————————————————————————
(3.1) 機能
———————————————————————————————————
＜機能一覧＞
・GPT
・複数ウォッチドッグ
・外部ウォッチドッグ(接続設定)
・リンクタイム設定
・デバッグ機能(一部)

———————————————————————————————————
(3.2) パラメータコンテナ
———————————————————————————————————
■WdgSettingsConfig
  ▼WdgExternalConfiguration
    ・WdgExternalContainerRef
  ▼WdgSettingsOff

———————————————————————————————————
(3.3) システムサービス
———————————————————————————————————
・Wdg_Cbk_GptNotification

———————————————————————————————————
(3.4) 未サポート機能用インクルードヘッダファイル
———————————————————————————————————
・Gpt.h
・Spi/Dio/<other driver>.h

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(4) 追加，改変仕様
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
———————————————————————————————————
(4.1) WdgSettingsConfig コンテナ多重度
———————————————————————————————————
AUTOSAR仕様では，多重度が1となっているが，ポストビルドにより複数のコン
フィギュレーション情報に対応するため，多重度を1..*とする．[NWDG001]

———————————————————————————————————
(4.2) FASTモード・SLOWモード パラメータ
———————————————————————————————————
FASTモード・SLOWモードに対応するため，以下のパラメータをコンテナに追加
する．[NWDG002]

■WdgSettingsConfig
  ▼WdgSettingsFast
    ・WdgTriggerMode
    ・WdgTimeout
    ・WdgWindowOpenRate
    ・WdgTriggerInterruptPeriod
    ・WdgTimeoutReaction
  ▼WdgSettingsSlow
    ・WdgTriggerMode
    ・WdgTimeout
    ・WdgWindowOpenRate
    ・WdgTriggerInterruptPeriod
    ・WdgTimeoutReaction

・WdgSettingsFast
 ・多重度：1
 ・説明：FASTモード

・WdgSettingsSlow
 ・多重度：0..1
 ・説明：SLOWモード

・WdgTriggerMode
 ・多重度：1
 ・範囲：WDG_TOGGLE or WDG_WINDOW
 ・説明：ウォッチドッグハードウェアのトリガモード

・WdgTimeout
 ・多重度：1
 ・範囲：0 〜 65.535
 ・説明：ウォッチドッグハードウェアのタイムアウト時間(sec)

・WdgWindowOpenRate
 ・多重度：0..1
 ・範囲：0 〜 100
 ・説明：ウィンドウモード時のウィンドウオープン期間(%)

・WdgTriggerInterruptPeriod
 ・多重度：1
 ・範囲：0 〜 65.535
 ・説明：ウォッチドッグトリガ割り込み周期(sec)

・WdgTimeoutReaction
 ・多重度：1
 ・範囲：WDG_RESET or WDG_NMI
 ・説明：ウォッチドッグタイムアウト後の動作

———————————————————————————————————
(4.3) DEMイベントパラメータコンテナ及びパラメータの有無
———————————————————————————————————
DEMイベントパラメータのコンテナWdgDemEventParameterRefs[WDG148_Conf]は
多重度が0..1であり，内部のパラメータも同様に多重度が0..1である．本仕様
ではコンテナWdgDemEventParameterRefsが設定されていない場合は全DEMエラー
を報告しない．また，内部パラメータが設定されていない場合は該当するエラ
ーを報告しない．[NWDG003]

———————————————————————————————————
(4.4) WDG_BUSY状態でのWdg_Initの動作
———————————————————————————————————
ポストビルド対応のために，Wdg_Initは動作中に再度コールされることが予想
される．他のAPIの動作中にコールされる可能性を考慮し，WDG_BUSY状態でコー
ルされた場合，DETが有効ならば，DETエラーWDG_E_DRIVER_STATEを出力する．
[NWDG004]

———————————————————————————————————
(4.5) システムサービスの排他処理変更
———————————————————————————————————
システムサービスWdg_SetTriggerCondition，Wdg_SetModeはWdgMのシステムサ
ービスからコールされる．これらのシステムサービスをコールするWdgMシステ
ムサービスはすでに排他処理がされているため，Wdg側では行わない．[NWDG005]

———————————————————————————————————
(4.6) システムサービス内NULL_PTRチェック
———————————————————————————————————
システムサービス内でコンテナのポインタを参照する場合，DETが有効ならば，
NULL_PTRチェックを行う．NULL_PTRの場合，DETエラーWDG_E_PARAM_POINTERを
出力する．[NWDG006]

———————————————————————————————————
(4.7) モード切り替え無効チェック
———————————————————————————————————
モード切り替えができないターゲットでWdg_SetModeがコールされた場合，DET
が有効ならば，DETエラーWDG_E_PARAM_MODEを出力する．[NWDG007]

———————————————————————————————————
(4.8) モード切り替え無効時のWdgDefaultMode
———————————————————————————————————
モード切り替えができないターゲットでは，SLOWモードの初期化ブロックを生
成しないため，WdgDefaultMode=WDGIF_FAST_MODEと設定すること．[NWDG008]

以上
