|  | 1 | = Binary converter = | 
                          |  | 2 |  | 
                          |  | 3 | There is a tool in DSX python library called elf2blob. It uses objcopy to repackage an elf image to a blob. | 
                          |  | 4 |  | 
                          |  | 5 | It is useful for concatenating different sections to a single image. | 
                          |  | 6 |  | 
                          |  | 7 | It supports: | 
                          |  | 8 | * Any binutils-supported target for input | 
                          |  | 9 | * Binary blob, Intel-HEX, and MIF output | 
                          |  | 10 |  | 
                          |  | 11 | == Usage == | 
                          |  | 12 |  | 
                          |  | 13 | If you have your python path correctly set up (See DsxInstall), you can call {{{python -m bintools.elf2blob}}}. | 
                          |  | 14 |  | 
                          |  | 15 | {{{ | 
                          |  | 16 | $ python -m bintools.elf2blob --help | 
                          |  | 17 | Usage: elf2blob.py [options] | 
                          |  | 18 |  | 
                          |  | 19 | Options: | 
                          |  | 20 | -h, --help            show this help message and exit | 
                          |  | 21 | -c OBJCOPY, --objcopy=OBJCOPY | 
                          |  | 22 | Use given objcopy | 
                          |  | 23 | -s SECTIONS, --section=SECTIONS | 
                          |  | 24 | Add section:byte_offset to output file | 
                          |  | 25 | -O OUT_FMT, --output-format=OUT_FMT | 
                          |  | 26 | Output file type (binary, hex or mif) | 
                          |  | 27 | -o OUTPUT, --output=OUTPUT | 
                          |  | 28 | Output file name | 
                          |  | 29 | -w WIDTH, --width=WIDTH | 
                          |  | 30 | MIF word width | 
                          |  | 31 | -S SIZE, --size=SIZE  Blob size (bytes) | 
                          |  | 32 | $ | 
                          |  | 33 | }}} | 
                          |  | 34 |  | 
                          |  | 35 | `-s`:: | 
                          |  | 36 | May be given more than once to add many sections | 
                          |  | 37 |  | 
                          |  | 38 | == Example == | 
                          |  | 39 |  | 
                          |  | 40 | Let's create a blob: | 
                          |  | 41 | * to initialize an 8-KiB altera ram (MIF output), in file named `sram.mif`, | 
                          |  | 42 | * from a mips binary named `kernel-soclib-mips32el.out`, | 
                          |  | 43 | * with: | 
                          |  | 44 | * .boot at 0 | 
                          |  | 45 | * .excep at 0x20 | 
                          |  | 46 | * .text at 0x1400 | 
                          |  | 47 |  | 
                          |  | 48 | {{{ | 
                          |  | 49 | $ python -m bintools.elf2blob \ | 
                          |  | 50 | -c mipsel-unknown-elf-objcopy \ | 
                          |  | 51 | -s .boot:0 -s .excep:0x20 -s .text:0x1400 \ | 
                          |  | 52 | -O mif -o sram.mif \ | 
                          |  | 53 | kernel-soclib-mips32el.out | 
                          |  | 54 | $ | 
                          |  | 55 | }}} | 
                          |  | 56 |  |