ELF File Format
In the Linux World of Blackfin, there are two basic file formats:
- Flat: a binary flat file is usually called bflt. It is a relatively simple lightweight executable format based on the original A. Out format. Bflt file is the default file format of embedded Linux.
- Fdpic elf: the executable and link formats were initially developed by the UNIX System Lab and have now become the standard file format. Compared with the bflt format, the elf standard is more powerful and flexible. However, it is more important, requires more disk space and a certain amount of runtime overhead.
Both formats support Static and Dynamic Links (shared libraries). However, ELF is easier to use and create dynamic link libraries. Only elf supports dynamic loading (dlopen (), dlsym (), dlclose (), and standard methods for creating and maintaining shared libraries.
Remember that in Linux, we use the fdpic ELF format. The difference between the fdpic format and the ELF format is that it must work without MMU internally. From the programmer's point of view, ELF is elf at any point.
Bytes -----------------------------------------------------------------------------------------------------------------
Executable file formats:
Files can be in two basic formats in the Blackfin Linux World:
-
Flat
-
Binary flat files commonly known as bflt, are a relatively simple and lightweight executable format based on the original A. Out format. bflt files are the default file format in embedded Linux.
-
Fdpic elf
-
The executable and linking format (elf) Was originally developed by UNIX System laboratories and has become the standard in file formats. theelf
Standard has greater power and more flexibility than the bflt format. However, they are more heavyweight, requiring more disk space and having a small run-time penalty.
Both formats support Static and Dynamic Linking (shared libraries), although it is much easier to use and create shared libraries withelf. Onlyelf
Supports dynamic loading (dlopen()
,dlsym()
,dlclose()
), And the standard method for creating and maintaining shared libraries. (For more information on libraries, see thecreating
Libraries page .)
Keep in mind that under Linux, we use the fdpic
ElfFormat. The difference between the fdpicelfFormat and theelf
Format is merely in the internals (how the PLT is implemented) as a requirement for working without an MMU. For all intents and purposes from the programmer's perspective,
ElfIs anelf.