world leader in high performance signal processing
Trace: » ldr

Loader (LDR) Format

The Blackfin on-chip Boot ROM expects files that it loads to be in a special loader format (known as the LDR format for short). Most people should not need to get into the lower details of the LDR format as the open source ldr-utils package should take care of converting standalone ELFs into LDRs.

An LDR packages up one or more DXE's (which is simply another name for an ELF). Each packaged DXE is split up into multiple blocks. Each block has a header and optional payload. The header describes where and how to load the payload at runtime. All in all, even though it is a purely custom/unique format to the Blackfin world, it's pretty flexible.

Variants

There are currently two (and a half) LDR formats and the exact version depends on your Blackfin variant. This table should break things down for you.

Format Processor Variants
Old BF531/BF532/BF533, BF534/BF536/BF537, BF538/BF539
Old.5 BF561
New BF52x, BF54x, All Future Processors

The Old.5 format is just like the Old format with a global block header.

Resources

Rather than duplicating all of the information about the LDR format, you should consult the following resources:

  • the booting chapter of the HRM for your Blackfin variant
  • the current VisualDSP Loader and Utilities Manual
  • ldr-utils section of the manual
  • the ldr-utils source code