bin2obj

Description

bin2obj is a tool that converts binary files into object files that can be directly linked by the linkers of C compilers in CodeWarrior.

How to Use

Start Command

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

Converts the binary file specified by BINARY_FILE into a linkable object format and outputs the file with the name OBJECT_FILE. This tool operates the same way as the the BinToElf tool that comes with the CodeWarrior for NINTENDO DS package.

The -b and -e options specify symbols that enable the data in the binary file to be accessed from programs written in C and other languages. You can use the long names for the options, --begin and --end instead of -b and -e.

The name for the symbol at the start of the data region is specified using SYMBOL_BEGIN. Similarly, the name for the symbol at the end of the data region (more specifically, the next address after the last data) is specified using SYMBOL_END. The size of the binary region is calculated by subtracting the value of SYMBOL_BEGIN from the value of SYMBOL_END.

When specifying the symbol name, you can use the special keywords %f, %t, %b, and %e. These keywords reference a portion of a binary file, as shown below for the file specified by BINARY_FILE.

%f or %t
The portion of BINARY_FILE excluding the directory.
%b 
The portion of BINARY_FILE excluding the directory and the file extension.
%e
The file extension of BINARY_FILE (excluding the dot)

When these options are not specified, the default values are %b_begin for SYMBOL_BEGIN and %b_end for SYMBOL_END.

The -C option generates a symbol that is compatible with the BinToElf tool that is included in CodeWarrior for NINTENDO DS. You can use the long name --compatible instead of -C . The -C option is equivalent to the following option specifications:

-b _binary_%f -e _binary_%f_end

The -a option specifies the alignment value for the data block when the binary file is made into an object. You can use the long name --align instead of -a. The default value is 4.

When the -r option is specified, the data block is handled as a read-only section (normally a .rodata section.) You can use the long name --readonly instead of -r. If this option is not specified, the data block is treated as a readable/writable section (normally a .data section).

The -s option can be used to specify the data block section name. You can use the long name --section for -s. If this option is not specified, .rodata is used as the name for a read-only data block and .data gets used as the name for a readable/writable data block.

Location

$NitroSDK/tools/bin/bin2obj.exe

See Also

The BinToElf tool in the CodeWarrior for NINTENDO DS package.

Revision History

06/14/2005 Initial version.