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

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

----------------------------------------------------------------------
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: user.txt 727 2017-01-23 09:27:59Z witz-itoyo $
----------------------------------------------------------------------

○目次

◎０．本マニュアルの位置づけ
１．TOPPERS/ATK2-SC1-MCの概要
	○1.1 TOPPERS/ATK2-SC1-MCの位置付け
	1.2 TOPPERS/ATK2-SC1-MCの仕様
	1.3 既知の問題
	1.4 Cygwin環境における注意事項
２．ターゲット依存部
	2.1 ターゲット依存部の概要
３．クイックスタートガイド
	3.1 開発環境の準備
	3.2 ジェネレータの構築
	3.3 XMLスキーマの入手
	3.4 サンプルプログラムの構築と実行
	3.5 カーネルを関数単位でライブラリ化する方法
	3.6 アプリケーションとカーネルを別々に構築する方法
	3.7 カウンタの循環チェックの省略
	◎3.8 スピンロックの循環チェックの省略
	3.9 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 システムタイマの使用方法
１１．参考情報
	11.1 利用条件と利用報告
	11.2 保証・適用性・サポート
	11.3 バグレポート
	11.4 ウェブサイト
	11.5 TOPPERSユーザーズメーリングリスト
	11.6 TOPPERSプロジェクトのメンバ向けのサービス
	11.7 TOPPERSプロジェクトへの参加

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


０．本マニュアルの位置づけ

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


１．TOPPERS/ATK2-SC1-MCの概要

1.1 TOPPERS/ATK2-SC1-MCの位置付け

TOPPERS/ATK2-SC1-MCは，TOPPERSプロジェクトにおいて開発したAUTOSAR OS仕
様のSC1をベースとし，AUTOSAR仕様に従いマルチコア拡張したリアルタイムカ
ーネルである．

1.2 TOPPERS/ATK2-SC1-MCの仕様

ATK2-SC1から変更なし．

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 スピンロックの循環チェックの省略

コンフィギュレーション時に，スピンロックのリンクリストが循環していない
かのチェックを行うが，リストの数が多い場合に時間がかかることがある．
OMIT_CHECK_DEADLOCK_SPINLOCKをアプリケーションのヘッダファイル
(sample1.hに相当するヘッダファイル)に定義することで，この循環チェック
を省略することができる．

3.9 Rte_Type.hの用意

ATK2-SC1から変更なし．


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

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

ATK2-SC1から変更なし．

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

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

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

	kernel/
		ccb.h			コア管理ブロックの定義
		ioc.tf			IOC向けジェネレータのパス2のテンプレートファイ
						ル
		ioc_impl.h		IOC実装用標準ヘッダファイル
		ioc_manage.c	IOC機能
		mc.h			マルチコア管理機能関連の定義
		mc.c			マルチコア管理機能の内部関数
		mc_manage.c		マルチコア管理機能のシステムサービス
		osap.h			OSアプリケーション機能関連の定義
		osap.c			OSアプリケーション機能の内部関数
		spinlock.h		スピンロック機能関連の定義
		spinlock.c		スピンロック機能

	sysmod/
		chkobj.c		OSオブジェクトの所属OSアプリケーションをチェッ
						クするためのシステムサービス定義

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

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

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

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

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

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


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

ATK2-SC1から変更なし．


６．Makefileの修正方法

ATK2-SC1から変更なし．

6.1 Makefileの変数定義

ATK2-SC1から変更なし．

6.2 コンパイルオプション

ATK2-SC1から変更なし．


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

ATK2-SC1から変更なし．

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

ATK2-SC1から変更なし．


８．システムモジュール

8.1 システムログ機能

ATK2-SC1から変更なし．

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から変更なし．

ただし，すべてのコアでポートを共有する場合は，G_SYSLOGマクロを定義する．
この場合，SIL_LOC_SPN，SIL_LOC_INTが必要となる．

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 スタートアップ/シャットダウンフック無効時の注意点

スタートアップフックを無効にしても，サンプルを動作させたい場合は，スタ
ートアップフックに実施していたターゲットタイマの初期化とシリアルモジ
ュールの初期化処理は，各コアで実施する必要がある．システムログ機能は，
マスタコア等どちらか1つのコアで初期化すれば良い．シャットダウンフックに
あるターゲットタイマ停止処理とシリアルモジュールの停止処理も同様に，
各コアで実施する．

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

ATK2-SC1から変更なし．


１１．参考情報

11.1 利用条件と利用報告

ATK2-SC1から変更なし．

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

ATK2-SC1から変更なし．

11.3 バグレポート

ATK2-SC1から変更なし．

11.4 ウェブサイト

ATK2-SC1から変更なし．

11.5 TOPPERSユーザーズメーリングリスト

ATK2-SC1から変更なし．

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

ATK2-SC1から変更なし．

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

ATK2-SC1から変更なし．



以上
