rockbox/utils/imxtools/sbtools
Dominik Riebeling a686dbfaa4 sbtools: Avoid calling pkg-config on each compiler invocation.
Only expand pkg-config calls once by making the compiler flags simply
expanded variables. Makes things more predicable and slightly faster.

Change-Id: Ie2ed066f205a95ec8a7708cefeb29e9989815db6
2020-06-21 09:07:17 +02:00
..
keys
crc.c
crypto.cpp imxtools/sbtools: switch SHA1 implementation to Crypto++ 2017-01-16 19:59:28 +01:00
crypto.h rbutil: fix windows cross compile (via M cross environment) 2019-11-09 20:54:57 -05:00
dbparser.c
dbparser.h
elf.c imxtools/sbtools: various fixes 2017-01-16 19:58:31 +01:00
elf.h
elftosb.c imxtools/sbtools: various fixes 2017-01-16 19:58:31 +01:00
elftosb1.c
Makefile sbtools: Avoid calling pkg-config on each compiler invocation. 2020-06-21 09:07:17 +02:00
misc.c imxtools/sbtools: various fixes 2017-01-16 19:58:31 +01:00
misc.h FS13192: rbutil: Fix linking error on Fedora 32 beta 2020-03-29 18:57:08 +02:00
README
rsrc.c
rsrc.h
rsrctool.c
sb.c imxtools/sbtools: various fixes 2017-01-16 19:58:31 +01:00
sb.h
sb1.c
sb1.h
sbloader.c
sbtoelf.c imxtools/sbtools: various fixes 2017-01-16 19:58:31 +01:00
xorcrypt.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.