bin2obj

説明

 bin2obj は、バイナリファイルを CodeWarrior などの C コンパイラのリンカで直接リンク可能なオブジェクトファイルに変換するためツールです。

使用方法

起動コマンド

% bin2obj BINARY_FILE OBJECT_FILE
                  [-b|--begin SYMBOL_BEGIN] [-e|--end SYMBOL_END]
                  [-C|--compatible] [-a|--align ALIGNMENT] [-r|--readonly] [-s|--section SECTION]

BINARY_FILE で指定されたバイナリファイルをリンク可能なオブジェクト形式へ変換し、OBJECT_FILE という名で出力します。CodeWarrior for NINTENDO DS パッケージ内に同梱されている BinToElf ツールと同様の働きをします。

-b オプションおよび -e オプションで、バイナリファイル内のデータへ C 言語などのプログラムからアクセスするためのシンボルを指定します。-b の代わりに --begin を、また -e の代わりに --end という長いオプションも使用できます。

データ領域の先頭シンボルとして SYMBOL_BEGIN で指定したシンボル名が、また末尾のシンボル(正確には最終データの次のアドレスを指します)として SYMBOL_END で指定したシンボル名がそれぞれ設定されます。バイナリ領域のサイズは SYMBOL_END で示される値から SYMBOL_BEGIN で示される値を減じたものとなります。 

また、このシンボル名の指定に %f,%t,%b および %e という特別なキーワードを使用できます。このキーワードは以下のように BINARY_FILE で指定されたバイナリファイルの名称の一部分を参照します。

%f または %t
BINARY_FILE のディレクトリ部分を除いた部分
%b
BINARY_FILE のディレクトリ部分と拡張子を除いた部分
%e
BINARY_FILE の拡張子(ドットは含まれません)

このオプションが指定されないときのデフォルト値は SYMBOL_BEGIN%b_begin および SYMBOL_END%b_end となっています。

-C オプションは CodeWarrior for NINTENDO DS 付属の BinToElf ツールと互換性のあるシンボルを生成するためのオプションです。-C の代わりに --compatible という長いオプションも使用できます。-C は以下のオプションが指定されているのと等価です。

-b _binary_%f -e _binary_%f_end

-a オプションは、バイナリファイルをオブジェクト化したときのデータブロックのアラインメント値を指定するためのオプションです。-a の代わりに --align という長いオプションも使用できます。デフォルト値は 4 です。

-r オプションが指定されるとデータブロックを読み込み専用のセクション(通常は .rodata セクション)として扱います。-r の代わりに --readonly という長いオプションも使用できます。このオプションが指定されていない場合は、データブロックは読み書き可能なセクション(通常は .data セクション)として扱われます。

-s オプションでデータブロックのセクション名を指定できます。-s の代わりに --section という長いオプションも使用できます。指定のない場合は、読み込み専用のデータブロックのセクション名として .rodata、読み書き可能なセクション名として .data が使用されます。

場所

$TwlSDK/tools/bin/bin2obj.exe

参照

CodeWarrior for NINTENDO DS パッケージ内の BinToElf ツール

履歴

2005/06/14 初版