スキャッタファイルでのプリプロセッシングコマンドの使用

C プリプロセッサを使用して、スキャッタファイルを渡すことができます。 これにより、C プリプロセッサのすべての機能にアクセスできるようなります。

スキャッタファイルの最初の行で、リンカがこのファイルを処理するために呼び出すプリプロセッサコマンドを指定します。 このコマンドの形式を以下に示します。

#! preprocessor [pre_processor_flags]

一般的には、#! armcc -E というコマンドが使用されます。 このコマンドは、armcc プリプロセッサを使用して、スキャッタファイルを渡します。

以下のことができます。

例えば、スキャッタファイル file.scat には以下のようなコマンドを含めます。

#! armcc -E

#define ADDRESS 0x20000000
#include "include_file_1.h"

lr1 ADDRESS
{
    ...
}

リンカによって、前処理済みのスキャッタファイルが解析され、ディレクティブがコメントとして処理されます。

また、スキャッタファイルの前処理を --predefine コマンドラインオプションと共に使用することもできます。 この例では、以下のようにします。

  1. file.scat を変更して、ディレクティブ #define ADDRESS 0x20000000 を削除します。

  2. 以下のコマンドを指定します。

    armlink --predefine="-DADDRESS=0x20000000" --scatter=file.scat

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612