rockbox/utils/imxtools/sbtools
Amaury Pouly ee36a396cd imxtools: introduce rsrctool to manipulate rsrc sections
This tool is very preliminary but could be use for whatever
purpose since the format of the rsrc sections is now known.
By the way it appears that this format is the same as the
one use by the stmp36xx for its resources.

Change-Id: Idd7057f5cdce5af9726904169bb100c8bacb0981
2012-11-29 17:30:54 +01:00
..
aes128.c
crc.c
crypto.c sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
crypto.h sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +01:00
dbparser.c
dbparser.h
elf.c sbtoelf: implement elf simplification 2012-11-28 00:06:31 +01:00
elf.h sbtoelf: implement sb extraction for sb1 2012-11-27 22:38:48 +01:00
elftosb.c
fuze+_key_file.txt
Makefile imxtools: introduce rsrctool to manipulate rsrc sections 2012-11-29 17:30:54 +01:00
misc.c sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
misc.h
README
rsrc.c imxtools: introduce rsrctool to manipulate rsrc sections 2012-11-29 17:30:54 +01:00
rsrc.h imxtools: introduce rsrctool to manipulate rsrc sections 2012-11-29 17:30:54 +01:00
rsrctool.c imxtools: introduce rsrctool to manipulate rsrc sections 2012-11-29 17:30:54 +01:00
sb.c sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
sb.h
sb1.c sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
sb1.h sbtoelf: implement sb1 loading and dumping 2012-11-27 22:16:56 +01:00
sbloader.c
sbtoelf.c sbtoelf: add switch to prevent elf simplification 2012-11-28 00:17:15 +01:00
sha1.c
xorcrypt.c sbtools: add forgotten file 2012-11-27 00:01:35 +01:00

This file document the format of the command file used by the elftosb tool.
By no way our tools tries to be compatible with Freescale's elftosb2.
However, our format is more subset of the general one.

The parse supports a limited form of comments: comments starting with // and ending at the end of the line.

A file first contains the list of sources:

sources
{
    hw_init = "sdram_init.elf";
    rockbox = "rockbox.elf";
}

It can then contain an arbitrary number of section. A section is identified by a number.
Within a section, three commands are supported: "load", "jump" and "call":

section(0x626f6f74) // hex for 'boot'
{
    load hw_init;
    call hw_init;
    load rockbox;
    jump rockbox;
}

Finally, both elftosb and sbtoelf tools use key files. A key file is a list of keys.
Each key consist is 128-bit long and is written in hexadecimal:

00000000000000000000000000000000

The parser does not handle blank line and only allows a final newline at the end of the file.
A file is allowed to contain zero (0) keys.