The elf2flt package is a set of utilities designed to leverage existing Linux ELF toolchains to produce FLAT files. These files are then executed on embedded Linux systems.
The work flow is typically something like:
So that people need not run these programs themselves, the real linker is renamed so that gcc transparently calls the
ld-elf2flt helper in place of the real linker. This is accomplished by renaming the real linker from
ld.real and installing
ld. At runtime,
ld-elf2flt (now named
ld) will be executed by gcc and it will in turn locate
Releases of elf2flt are pretty much never made. The typical model is for a current snapshot to be taken of the repository, integrated into the toolchain, and then never touched again. The repository is always kept in working order.
The official elf2flt source can be found here: http://cvs.uclinux.org/cgi-bin/cvsweb.cgi/elf2flt/
For people who prefer git, a mirror has been created here: http://blackfin.uclinux.org/git/?p=users/vapier/elf2flt.git
The flthdr utility allows you to tweak the header of FLAT files so as to tweak runtime parameters. Most often, people wish to increase the stack size, or tweak the compression settings.
usage: flthdr [options] flat-file Allows you to change an existing flat file -p : print current settings -P : print relocations -z : compressed flat file -d : compressed data-only flat file -Z : un-compressed flat file -r : ram load -R : do not RAM load -k : kernel traced load (for debug) -K : normal non-kernel traced load -u : place stack in L1 scratchpad memory -U : place stack in normal SDRAM memory -s size : stack size -o file : output-file (default is to modify input file)