-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME.txt
226 lines (164 loc) · 10.2 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
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版向けの対応
以上