
		TOPPERS/ATK2-SC2
		ユーザーズマニュアル

このドキュメントは，TOPPERS/ATK2-SC2を使用するために必要な事項を説明
するものである．

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

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

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

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

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

$Id: user.txt 906 2015-05-19 05:25:55Z t_ishikawa $
----------------------------------------------------------------------

○目次

◎０．本マニュアルの位置づけ
１．TOPPERS/ATK2-SC2の概要
	○1.1 TOPPERS/ATK2-SC2の位置付け
	○1.2 TOPPERS/ATK2-SC2の仕様
	1.3 既知の問題
	1.4 Cygwin環境における注意事項
２．ターゲット依存部
	2.1 ターゲット依存部の概要
３．クイックスタートガイド
	3.1 開発環境の準備
	3.2 ジェネレータの構築
	3.3 XMLスキーマの入手
	3.4 サンプルプログラムの構築と実行
	3.5 カーネルを関数単位でライブラリ化する方法
	3.6 アプリケーションとカーネルを別々に構築する方法
	3.7 カウンタの循環チェックの省略
	3.8 Rte_Type.hの用意
４．ディレクトリ構成・ファイル構成
	4.1 配布パッケージのディレクトリ構成
	○4.2 ターゲット非依存部のファイル構成
５．コンフィギュレーションスクリプトの使い方
６．Makefileの修正方法
	6.1 Makefileの変数定義
	6.2 コンパイルオプション
７．ジェネレータの使い方
	7.1 コンフィギュレーションファイル(arxml)
８．システムモジュール
	8.1 システムログ機能
		8.1.1 低レベル出力
		8.1.2 ログ情報の種別
		8.1.3 ログ情報の重要度
		8.1.4 ログ情報のデータ構造
		8.1.5 システムログ機能のサービスコール
		8.1.6 システムログ機能のためのライブラリ関数とマクロ
		8.1.7 システムログ機能のその他のサービス
	8.2 シリアルインタフェースドライバ
		8.2.1 シリアルインタフェースドライバのサービスコール
	8.3 カーネル起動メッセージの出力
９．サポートライブラリ
	9.1 基本的なライブラリ関数
	9.2 キュー操作ライブラリ関数
	9.3 システムログ出力用ライブラリ関数
	9.4 実行時間分布集計モジュール
１０．使用上の注意とヒント
	10.1 タイマドライバの組込み
	10.2 ASSERTマクロの処理
	10.3 システムログ機能の扱い
	10.4 オブジェクトIDの管理
	10.5 トレースログ記録のサンプルコードの使用方法
	10.6 システムの起動時の初期化処理
	10.7 想定するプログラミング言語
	10.8 ユーザスタック領域定義
	10.9 スタックサイズを見積もる際の注意点
	10.10 スタートアップ/シャットダウンフック無効時の注意点
	10.11 システムタイマの使用方法
	◎10.12 タイミング保護機能
１１．参考情報
	11.1 利用条件と利用報告
	11.2 保証・適用性・サポート
	11.3 バグレポート
	11.4 ウェブサイト
	11.5 TOPPERSユーザーズメーリングリスト
	11.6 TOPPERSプロジェクトのメンバ向けのサービス
	11.7 TOPPERSプロジェクトへの参加

○がついている項目はATK2-SC2から変更があった箇所を，◎はATK2-SC2で新規
に追加された場所を示す．

０．本マニュアルの位置づけ
TOPPERS/ATK2-SC2は，TOPPERS/ATK2-SC1をベースとしているため，多くの項目
はTOPPERS/ATK2-SC1と同一である．本ドキュメントでは，TOPPERS/ATK2-SC1と
異なる点について説明する．そのため，まずTOPPERS/ATK2-SC1のユーザーズマ
ニュアルを参照の後，本ドキュメントを参照すること．


１．TOPPERS/ATK2-SC2の概要

1.1 TOPPERS/ATK2-SC2の位置付け

TOPPERS/ATK2-SC2は，TOPPERS/ATK2-SC1に対して，AUTOSAR OS仕様のSC2をベ
ースとしてタイミング保護機能を追加したリアルタイムカーネルである．

1.2 TOPPERS/ATK2-SC2の仕様

ATK2-SC1にAUTOSAR OS仕様のSC2ベースとしてタイミング保護機能を追加した．
詳しい仕様は，「ATK2外部仕様書」を参照すること．

1.3 既知の問題

ATK2-SC1から変更なし．

1.4 Cygwin環境における注意事項

ATK2-SC1から変更なし．


２．ターゲット依存部

2.1 ターゲット依存部の概要

ATK2-SC1から変更なし．


３．クイックスタートガイド

3.1 開発環境の準備

ATK2-SC1から変更なし．

3.2 ジェネレータの構築

ATK2-SC1から変更なし．

3.3 XMLスキーマの入手

ATK2-SC1から変更なし．

3.4 サンプルプログラムの構築と実行

ATK2-SC1から変更なし．

3.5 カーネルを関数単位でライブラリ化する方法

ATK2-SC1から変更なし．

3.6 アプリケーションとカーネルを別々に構築する方法

ATK2-SC1から変更なし．

3.7 カウンタの循環チェックの省略

ATK2-SC1から変更なし．

3.8 Rte_Type.hの用意

ATK2-SC1から変更なし．


４．ディレクトリ構成・ファイル構成

4.1 配布パッケージのディレクトリ構成

ATK2-SC1から変更なし．

4.2 ターゲット非依存部のファイル構成

ターゲット非依存部の各ファイルの概要は次の通り．

	include/
		ATK2-SC1から変更なし．

	kernel/
		timingprotection.h	タイミング保護管理モジュールの定義
		timingprotection.c	タイミング保護管理モジュールの内部関数

	sysmod/
		ATK2-SC1から変更なし．

	library/
		ATK2-SC1から変更なし．

	arch/gcc/
		ATK2-SC1から変更なし．

	arch/logtrace/
		ATK2-SC1から変更なし．

	utils/
		ATK2-SC1から変更なし．

	sample/
		ATK2-SC1から変更なし．

	doc/
		ATK2-SC1から変更なし．


５．コンフィギュレーションスクリプトの使い方

ATK2-SC1から変更なし．


６．Makefileの修正方法

6.1 Makefileの変数定義

ATK2-SC1から変更なし．

6.2 コンパイルオプション

ATK2-SC1から変更なし．


７．ジェネレータの使い方

ATK2-SC1から変更なし．

7.1 コンフィギュレーションファイル(arxml)

ATK2-SC1から変更なし．


８．システムモジュール

8.1 システムログ機能

8.1.1 低レベル出力

ATK2-SC1から変更なし．

8.1.2 ログ情報の種別

ATK2-SC1から変更なし．

8.1.3 ログ情報の重要度

ATK2-SC1から変更なし．

8.1.4 ログ情報のデータ構造

ATK2-SC1から変更なし．

8.1.5 システムログ機能のサービスコール

ATK2-SC1から変更なし．

8.1.6 システムログ機能のためのライブラリ関数とマクロ

ATK2-SC1から変更なし．

8.1.7 システムログ機能のその他のサービス

ATK2-SC1から変更なし．

8.2 シリアルインタフェースドライバ

8.2.1 シリアルインタフェースドライバのサービスコール

ATK2-SC1から変更なし．

8.3 カーネル起動メッセージの出力

ATK2-SC1から変更なし．


９．サポートライブラリ

9.1 基本的なライブラリ関数

ATK2-SC1から変更なし．

9.2 キュー操作ライブラリ関数

ATK2-SC1から変更なし．

9.3 システムログ出力用ライブラリ関数

ATK2-SC1から変更なし．

9.4 実行時間分布集計モジュール

ATK2-SC1から変更なし．


１０．使用上の注意とヒント

10.1 タイマドライバの組込み

ATK2-SC1から変更なし．

10.2 ASSERTマクロの処理

ATK2-SC1から変更なし．

10.3 システムログ機能の扱い

ATK2-SC1から変更なし．

10.4 オブジェクトIDの管理

ATK2-SC1から変更なし．

10.5 トレースログ記録のサンプルコードの使用方法

ATK2-SC1から変更なし．

10.6 システムの起動時の初期化処理

ATK2-SC1から変更なし．

10.7 想定するプログラミング言語

ATK2-SC1から変更なし．

10.8 ユーザスタック領域定義

ATK2-SC1から変更なし．

10.9 スタックサイズを見積もる際の注意点

ATK2-SC1から変更なし．

10.10 スタートアップ/シャットダウンフック無効時の注意点

ATK2-SC1から変更なし．

10.11 システムタイマの使用方法

ATK2-SC1から変更なし．

10.12 タイミング保護機能

AUTOSAR OSのSC2には以下のタイミング保護機能が存在する．
そのうち，本カーネルでは，○部分のタイミング保護機能を実装している．

○タスクの実行時間監視
○タスクのリソース占有時間監視
○タスクのOS割込み禁止時間監視
×タスクの全割り込み禁止時間監視
○タスクの到着間隔監視
×C2ISRの実行時間監視
×C2ISRのリソース占有時間監視
×C2ISRのOS割込み禁止時間監視
×C2ISRの全割り込み禁止時間監視
○C2ISRの到着間隔監視

本カーネルでは，C2ISRは信頼できるものとして扱っており，
タイミング保護機能においてC2ISRは到着間隔監視しか行わない．
そのため，C2ISRは信頼できるものとして実装する必要がある．

また，タスクの到着間隔違反ではプロテクションフックではなく，
エラーフックによりユーザーに検知する．

また，非信頼モジュールに対してはタイミング保護監視を行う必要がある．

１１．参考情報

11.1 利用条件と利用報告

ATK2-SC1から変更なし．

11.2 保証・適用性・サポート

ATK2-SC1から変更なし．

11.3 バグレポート

ATK2-SC1から変更なし．

11.4 ウェブサイト

ATK2-SC1から変更なし．

11.6 TOPPERSプロジェクトのメンバ向けのサービス

ATK2-SC1から変更なし．

11.7 TOPPERSプロジェクトへの参加

ATK2-SC1から変更なし．



以上
