-
Notifications
You must be signed in to change notification settings - Fork 3
TOPPERS 2nd Gen configurator
mitsut/cfg
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
TOPPERS新世代カーネル用コンフィギュレータ(Release 1.9.7) TOPPERS新世代カーネル用コンフィギュレータは、カーネルやソフトウェア部品 の構成や初期状態を定義したシステムコンフィギュレーションファイルを解釈し、 システムを構築する上で必要なファイル類を生成するTOPPERS新世代カーネル用 のツールです。 コンフィギュレータは、コンパイラやアセンブラを初めとする開発ツールと同様、 PC等の開発用コンピュータ上で動作するコマンドラインプログラムです。したが って、コンフィギュレータそのものが最終的な製品に組み込まれることは、原則 としてありません。コンフィギュレータはコマンドラインツールなので、コンパ イラを初めとした他のコマンドラインツールと組み合わせて使用することを前提 としています。しかし、ユーザーが適切に設定を行うことで、多くの統合開発環 境から呼び出せます。 【コンフィギュレータの構築方法(ITRON系)】 カーネルを構築する前に、まず、コンフィギュレータをコンパイルする必要が あります(コンフィギュレータをバイナリで入手した場合には、このステップ は必要はありません)。 コンフィギュレータの構築にはBoost C++ Libraries 1.48.0以上が必要です。 開発時点でのBoost C++ Librariesの最新版は1.58.0、であり、それ以降のバー ジョンについては動作確認を行っていません。 Boost C++ Librariesは、下記URLから入手することができます。 http://www.boost.org/ ・動作確認済みの環境 Windows 7 (x64) SP1 + Cygwin 1.7.17 + GCC 4.5.3 + Boost 1.48.0 Windows XP SP3 + MinGW 1.0.17 + GCC 4.6.2 + Boost 1.48.0 Windows 7 (x64) SP1 + MinGW 1.0.17 + GCC 4.6.1 + Boost 1.52.0 === GNU開発環境を用いた構築方法 === コンフィギュレータ(cfgプログラム)を構築するには、cfgディレクトリに移動 し、configureおよびmakeコマンドを実行します。 % cd cfg % ./configure % make ただし、Boostをインストールしたディレクトリおよび名称が、標準で想定して いるものと違う場合には、configureに--with-headersおよび--with-libraries オプションによりインクルードおよびライブラリのディレクトリを指定してくだ さい。 また、ホストシステムによっては、最適化レベルを上げると正しくコンパイルで きないことが知られています。そのような場合には、最適化レベルを下げるか、 最適化を抑止するように、Makefileを修正する必要があります。 複数のバージョンのBoost C++ Librariesがインストールされている場合(中途 半端にアンインストールされた場合を含む)、configureに失敗する可能性があ ります。その場合は手作業でMakefile.configを修正してください。 また、一度コンフィギュレータの構築を行った後、コンパイラやライブラリの アップデートを行った場合には、make realcleanを実行し、configureからやり 直してください。 【コンフィギュレータの構築方法(AUTOSAR系)】 カーネルを構築する前に、まず、コンフィギュレータをコンパイルする必要が あります(コンフィギュレータをバイナリで入手した場合には、このステップ は必要はありません)。 コンフィギュレータの構築にはBoost C++ Libraries 1.48.0以上およびXerces C++ 3.1.1以上が必要です。 開発時点でのBoost C++ Librariesの最新版は1.52.0、Xerces C++の最新版は3.1.1 であり、それ以降のバージョンについては動作確認を行っていません。 Boost C++ Librariesは、下記URLから入手することができます。 http://www.boost.org/ Xerces C++は、下記URLから入手することができます。 http://xerces.apache.org/xerces-c/ ・動作確認済みの環境 Windows 7 (x64) SP1 + Cygwin 1.7.17 + GCC 4.5.3 + Boost 1.48.0 + Xerces C++ 3.1.1 + ICU 4.8.1 Windows XP SP3 + MinGW 1.0.17 + GCC 4.6.2 + Boost 1.48.0 + Xerces C++ 3.1.1 + ICU 49.1 Windows 7 (x64) SP1 + MinGW 1.0.17 + GCC 4.6.1 + Boost 1.52.0 + Xerces C++ 3.1.1 + ICU 50.1 === GNU開発環境を用いた構築方法 === コンフィギュレータ(cfgプログラム)を構築するには、cfgディレクトリに移動 し、configureおよびmakeコマンドを実行します。 configureに--with-xmlを指定することで、AUTOSAR XML対応機能を追加する ことができます。 % cd cfg % ./configure --with-xml % make ただし、Boostをインストールしたディレクトリおよび名称が、標準で想定して いるものと違う場合には、configureに--with-headersおよび--with-libraries オプションによりインクルードおよびライブラリのディレクトリを指定してくだ さい。 また、ホストシステムによっては、最適化レベルを上げると正しくコンパイルで きないことが知られています。そのような場合には、最適化レベルを下げるか、 最適化を抑止するように、Makefileを修正する必要があります。 複数のバージョンのBoost C++ Librariesがインストールされている場合(中途 半端にアンインストールされた場合を含む)、configureに失敗する可能性があ ります。その場合は手作業でMakefile.configを修正してください。 また、一度コンフィギュレータの構築を行った後、コンパイラやライブラリの アップデートを行った場合には、make realcleanを実行し、configureからやり 直してください。 【Mekefile.configの説明】 configureコマンドによって生成されるMakefile.configでは次のパラメータが 定義されます。 ・LIBBOOST_SUFFIX Boost C+ Librariesのライブラリファイルのサフィックス たとえば、ライブラリファイルがlibboost_system-mt.aのような形式であれば、 LIBBOOST_SUFFIXには-mtが設定されます。 ・BOOST_VERSION Boost C++ Librariesのバージョン バージョン1.48.0であれば、BOOST_VERSIONには1_48が設定されます。 ・BOOST_DIR=/usr/include Boost C++ Librariesのヘッダファイルがあるディレクトリ 自分でBoost C++ Librariesをインストールした場合、通常/usr/local/include が設定されます。 ・LIBBOOST_DIR Boost C++ Librariesのライブラリファイルがあるディレクトリ 自分でBoost C++ Librariesをインストールした場合、通常/usr/local/libが設定 されます。 ・XERCES_DIR Xerces C++のヘッダファイルがあるディレクトリ ・LIBXERCES_DIR Xerces C++のライブラリファイルがあるディレクトリ ・OPTIONS コンパイラの追加オプション 普通は何も設定されません。 ・HAS_CFG_XML AUTOSAR XML対応の有無 configureに--with-xmlを指定した場合は1に定義されます。 【コンフィギュレータの使い方】 コンフィギュレータ(cfg)は、TOPPERS新世代カーネル統合仕様書の2.12.5節 の記述の通り、3つ(または4つ)のパスで構成されます。 コンフィギュレータは、システムコンフィギュレーションファイル名をパラメー タに取り、以下のオプションを持ちます(重要なもののみ)。 --help オプションのリストと説明を表示する。 -v[--version] コンフィギュレータのバージョンを表示する。 -k[--kernel]<カーネル名> カーネルの名称を指定する。デフォルトはasp。 -p[--pass]<パス番号> パス番号を指定する。1〜3のいずれか。 -I[--include-path]<インクルードパス名> INCLUDEディレクティブにおいて、インクルードするコンフィギュレー ションファイルを探すパス名を指定する。 -T[--template-file]<テンプレートファイル名> テンプレートファイルの名称を指定する。パス2とパス3で有効。 --api-table <静的APIテーブルファイル名> 静的APIテーブルのファイル名を指定する。 --cfg1-def-table <値取得シンボルテーブルファイル名> 値取得シンボルテーブルのファイル名を指定する。 -r[--rom-image]<ロードモジュール名> ロードモジュールをSレコードフォーマットの形に変換したファイルの 名称を指定する。パス3でのみ有効。 -s [--symbol-table] <シンボルファイル名> ロードモジュール中の各シンボルとアドレスの対応表を含むシンボル ファイルの名称を指定する。パス3でのみ有効。 --id-output-file <ID番号出力ファイル名> オブジェクトのID番号の割付け結果を、指定した名前のファイルに書 き出す。パス2でのみ有効。 --id-input-file <ID番号入力ファイル名> オブジェクトのID番号の割付けを、指定した名前のファイルから取り 込む。パス2でのみ有効。 --external-id オブジェクトのID番号を保持する変数の定義を生成する。パス2でのみ 有効。 -M[--print-dependencies]<ターゲットシンボル> システムコンフィギュレーションファイルの依存関係を出力する。 Makefile中の依存関係を生成する際に用いる。 --ini-file <設定ファイル名> AUTOSAR XML対応時において、設定ファイルを指定する。 コンフィギュレータの詳細仕様については、別途PDFファイルの形で配布してい る「TOPPERS新世代カーネル用コンフィギュレータ仕様」を参照してください。 テンプレートファイルの作成にあたっては、「TOPPERS新世代カーネル用コンフ ィギュレータ内蔵マクロプロセッサ仕様書」を参照してください。 ○変更履歴 2023/01/22 ・M1 Mac(+Homebrew)版向けの対応 2020/07/26 ・Linux 64版向けの対応 以上
About
TOPPERS 2nd Gen configurator
Topics
Resources
Stars
Watchers
Forks
Packages 0
No packages published