Binary converter
There is a tool in DSX python library called elf2blob. It uses objcopy to repackage an elf image to a blob.
It is useful for concatenating different sections to a single image.
It supports:
- Any binutils-supported target for input
- Binary blob, Intel-HEX, and MIF output
Usage
If you have your python path correctly set up (See DsxInstall), you can call python -m bintools.elf2blob.
$ python -m bintools.elf2blob --help
Usage: elf2blob.py [options]
Options:
-h, --help show this help message and exit
-c OBJCOPY, --objcopy=OBJCOPY
Use given objcopy
-s SECTIONS, --section=SECTIONS
Add section:byte_offset to output file
-O OUT_FMT, --output-format=OUT_FMT
Output file type (binary, hex or mif)
-o OUTPUT, --output=OUTPUT
Output file name
-w WIDTH, --width=WIDTH
MIF word width
-S SIZE, --size=SIZE Blob size (bytes)
$
-s- May be given more than once to add many sections
Example
Let's create a blob:
- to initialize an 8-KiB altera ram (MIF output), in file named
sram.mif, - from a mips binary named
kernel-soclib-mips32el.out, - with:
- .boot at 0
- .excep at 0x20
- .text at 0x1400
$ python -m bintools.elf2blob \
-c mipsel-unknown-elf-objcopy \
-s .boot:0 -s .excep:0x20 -s .text:0x1400 \
-O mif -o sram.mif \
kernel-soclib-mips32el.out
$
Last modified 16 years ago
Last modified on May 12, 2010, 5:20:11 PM
