rockbox/utils/imxtools/sbtools
Amaury Pouly 4e95b72ecb sbtools: add support for the stmp36xx format
The STMP36xx series also uses .sb files but with a different
format. The main differences are the encryption and the lack of
sections, making it basically a list of commands: fill, load,
call, jump, switch mode, set sdram settings. Currently only the
sbtoelf has support for the sb1 and can only dump the list of
commands. Actual support for elf creation will come later.

Change-Id: I1f2e0230c91ac64efd0e8430e0c5212098c599fd
2012-11-26 23:58:30 +01:00
..
aes128.c
crc.c
crypto.c sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +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
elf.h
elftosb.c
fuze+_key_file.txt
Makefile sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +01:00
misc.c
misc.h
README
sb.c
sb.h
sb1.c sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +01:00
sb1.h sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +01:00
sbloader.c
sbtoelf.c sbtools: add support for the stmp36xx format 2012-11-26 23:58:30 +01:00
sha1.c

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.