Analog Devices, Inc. reserves the right to change this product without
prior notice. Information furnished by Analog Devices is believed to be
accurate and reliable. However, no responsibility is assumed by Analog
Devices for its use; nor for any infringement of patents or other rights of
third parties which may result from its use. No license is granted by implication or otherwise under the patent rights of Analog Devices, Inc.
Trademark and Service Mark Notice
The Analog Devices logo, VisualDSP++, the VisualDSP++ logo, Blackfin,
the Blackfin logo, SHARC, the SHARC logo, TigerSHARC, the TigerSHARC logo, CROSSCORE, and the CROSSCORE logo are registered
trademarks of Analog Devices, Inc.
All other brand and product names are trademarks or service marks of
their respective owners.
CONTENTS
PREFACE
Purpose of This Manual ................................................................ xiii
Intended Audience ........................................................................ xiii
Manual Contents ........................................................................... xiv
What’s New in This Manual ........................................................... xiv
Technical or Customer Support ....................................................... xv
Supported Processors ...................................................................... xvi
Product Information ..................................................................... xvii
MyAnalog.com ........................................................................ xvii
Processor Product Information ................................................ xviii
Related Documents ................................................................ xviii
Online Technical Documentation ............................................. xix
Accessing Documentation From VisualDSP++ ....................... xx
Accessing Documentation From the Web ............................... xx
Printed Manuals ........................................................................ xx
VisualDSP++ Documentation Set ......................................... xxi
Hardware Tools Manuals ...................................................... xxi
Processor Manuals ................................................................ xxi
Data Sheets .......................................................................... xxi
Thank you for purchasing VisualDSP++® 4.5, Analog Devices, Inc. development software for digital processing (DSP) applications.
Purpose of This Manual
The VisualDSP++ 4.5 Loader and Utilities Manual contains information
about the loader/splitter program for the following Analog Devices, Inc.
processors: Blackfin® (ADSP-BF5xx), SHARC® (ADSP-21xxx), and TigerSHARC® (ADSP-TSxxx).
The manual describes the loader/splitter operations for these processors
and references information about related development software. It also
provides information about the loader and splitter command-line
interfaces.
Intended Audience
The primary audience for this manual is a programmer who is familiar
with Analog Devices processors. This manual assumes that the audience
has a working knowledge of the appropriate processor architecture and
instruction set. Programmers who are unfamiliar with Analog Devices
processors can use this manual, but should supplement it with other texts
(such as the appropriate hardware reference and programming reference
manuals) that describe your target architecture.
VisualDSP++ 4.5 Loader and Utilities Manual xiii
Manual Contents
Manual Contents
The manual contains:
•Chapter 1, “Introduction”
•Chapter 2, “Loader/Splitter for Blackfin Processors”
•Chapter 3, “Loader for ADSP-2106x/21160 SHARC Processors”
•Chapter 4, “Loader for ADSP-21161 SHARC Processors”
•Chapter 5, “Loader for ADSP-2126x/2136x/2137x SHARC
Processors”
•Chapter 6, “Loader for TigerSHARC Processors”
•Chapter 7, “Splitter for SHARC and TigerSHARC Processors”
•Appendix A, “File Formats”
•Appendix B, “Utilities”
What’s New in This Manual
Information in this VisualDSP++ 4.5 Loader and Utilities Manual applies
to all Analog Devices, Inc. processors listed in “Supported Processors”.
Refer to the product release notes for information on new and updated
VisualDSP++ 4.5 features and other product related information.
xivVisualDSP++ 4.5 Loader and Utilities Manual
Technical or Customer Support
You can reach Analog Devices, Inc. Customer Support in the following
ways:
•Visit the Embedded Processing and DSP products Web site at
•Contact your Analog Devices, Inc. local sales office or authorized
distributor
•Send questions by mail to:
Analog Devices, Inc.
One Technology Way
P.O. Box 9106
Norwood, MA 02062-9106
USA
VisualDSP++ 4.5 Loader and Utilities Manual xv
Supported Processors
Supported Processors
The following is the list of Analog Devices, Inc. processors supported in
VisualDSP++ 4.5.
Blackfin (ADSP-BFxxx) Processors
The name “Blackfin” refers to a family of 16-bit, embedded processors.
VisualDSP++ currently supports the following Blackfin processors.
ADSP-BF531ADSP-BF532 (formerly ADSP-21532)
ADSP-BF533ADSP-BF534
ADSP-BF535 (formerly ADSP-21535)ADSP-BF536
ADSP-BF537ADSP-BF538
ADSP-BF539ADSP-BF561
ADSP-BF566AD6531
AD6532AD6900
AD6901AD6902
AD6903
SHARC (ADSP-21xxx) Processors
The name “SHARC” refers to a family of high-performance, 32-bit,
floating-point processors that can be used in speech, sound, graphics, and
imaging applications. VisualDSP++ currently supports the following
SHARC processors.
ADSP-21020ADSP-21060ADSP-21061ADSP-21062
ADSP-21065LADSP-21160ADSP-21161ADSP-21261
ADSP-21262ADSP-21266ADSP-21267ADSP-21362
ADSP-21363ADSP-21364ADSP-21365ADSP-21366
xviVisualDSP++ 4.5 Loader and Utilities Manual
Preface
ADSP-21367ADSP-21368ADSP21369ADSP-21371
ADSP21375
TigerSHARC (ADSP-TSxxx) Processors
The name “TigerSHARC” refers to a family of floating-point and
fixed-point [8-bit, 16-bit, and 32-bit] processors. VisualDSP++ currently
supports the following TigerSHARC processors.
ADSP-TS101 ADSP-TS201 ADSP-TS202 ADSP-TS203
Product Information
You can obtain product information from the Analog Devices Web site,
from the product CD-ROM, or from the printed publications (manuals).
Analog Devices is online at www.analog.com. Our Web site provides information about a broad range of products—analog integrated circuits,
amplifiers, converters, and digital signal processors.
MyAnalog.com
MyAnalog.com is a free feature of the Analog Devices Web site that allows
customization of a Web page to display only the latest information on
products you are interested in. You can also choose to receive weekly
e-mail notifications containing updates to the Web pages that meet your
interests. MyAnalog.com provides access to books, application notes, data
sheets, code examples, and more.
Registration
Visit www.myanalog.com to sign up. Click Register to use MyAnalog.com.
Registration takes about five minutes and serves as a means to select the
information you want to receive.
VisualDSP++ 4.5 Loader and Utilities Manual xvii
Product Information
If you are already a registered user, just log on. Your user name is your
e-mail address.
Processor Product Information
For information on embedded processors and DSPs, visit our Web site at
http://www.analog.com/processors, which provides access to technical
publications, data sheets, application notes, product overviews, and product announcements.
You may also obtain additional information about Analog Devices and its
products in any of the following ways.
For hardware information, refer to your processors’s hardware reference,
programming reference, or data sheet. All documentation is available
online. Most documentation is available in printed form.
Visit the Technical Library Web site to access all processor and tools manuals and data sheets:
Online documentation comprises the VisualDSP++ Help system, software
tools manuals, hardware tools manuals, processor manuals, the Dinkum
Abridged C++ library, and Flexible License Manager (FlexLM) network
license manager software documentation. You can easily search across the
entire VisualDSP++ documentation set for any topic of interest. For easy
printing, supplementary
VisualDSP++ 4.5 Loader and Utilities Manual xix
.pdf files of most manuals are also provided.
Product Information
Each documentation file type is described as follows.
File Description
.chmHelp system files and manuals in Help format
.htm or
.html
.pdfVisualDSP++ and processor manuals in Portable Documentation Format (PDF).
Dinkum Abridged C++ library and FlexLM network license manager software documentation. Viewing and printing the
Internet Explorer 5.01 (or higher).
Viewing and printing the .pdf files requires a PDF reader, such as Adobe Acrobat
Reader (4.0 or higher).
.html files requires a browser, such as
Accessing Documentation From VisualDSP++
From the VisualDSP++ environment:
•Access VisualDSP++ online Help from the Help menu’s Contents, Search, and Index commands.
•Open online Help from context-sensitive user interface items (toolbar buttons, menu commands, and windows).
Select a processor family and book title. Download archive (.
zip) files, one
for each manual. Use any archive management software, such as WinZip,
to decompress downloaded files.
Printed Manuals
For general questions regarding literature ordering, call the Literature
Center at 1-800-ANALOGD (1-800-262-5643) and follow the prompts.
xxVisualDSP++ 4.5 Loader and Utilities Manual
Preface
VisualDSP++ Documentation Set
To purchase VisualDSP++ manuals, call 1-603-883-2430. The manuals
may be purchased only as a kit.
If you do not have an account with Analog Devices, you are referred to
Analog Devices distributors. For information on our distributors, log onto
http://www.analog.com/salesdir/continent.asp.
Hardware Tools Manuals
To purchase EZ-KIT Lite™ and in-circuit emulator (ICE) manuals, call
1-603-883-2430. The manuals may be ordered by title or by product
number located on the back cover of each manual.
Processor Manuals
Hardware reference and instruction set reference manuals may be ordered
through the Literature Center at 1-800-ANALOGD (1-800-262-5643),
or downloaded from the Analog Devices Web site. Manuals may be
ordered by title or by product number located on the back cover of each
manual.
Data Sheets
All data sheets (preliminary and production) may be downloaded from the
Analog Devices Web site. Only production (final) data sheets (Rev. 0, A,
B, C, and so on) can be obtained from the Literature Center at
1-800-ANALOGD (1-800-262-5643); they also can be downloaded from
the Web site.
To have a data sheet faxed to you, call the Analog Devices Faxback System
at 1-800-446-6212. Follow the prompts and a list of data sheet code
numbers will be faxed to you. If the data sheet you want is not listed,
check for it on the Web site.
VisualDSP++ 4.5 Loader and Utilities Manual xxi
Notation Conventions
Notation Conventions
Text conventions used in this manual are identified and described as
follows.
ExampleDescription
{this | that}Alternative required items in syntax descriptions appear within curly
brackets and separated by vertical bars; read the example as this or
that. One or the other is required.
[this | that]Optional items in syntax descriptions appear within brackets and sepa-
rated by vertical bars; read the example as an optional this or that.
[this,…]Optional item lists in syntax descriptions appear within brackets
delimited by commas and terminated with an ellipse; read the example
as an optional comma-separated list of
.SECTIONCommands, directives, keywords, and feature names are in text with
letter gothic font.
this.
filenameNon-keyword placeholders appear in text with italic style format.
Note: For correct operation, ...
A Note provides supplementary information on a related topic. In the
L
a
[
L
xxiiVisualDSP++ 4.5 Loader and Utilities Manual
Additional conventions, which apply only to specific chapters, may
appear throughout this document.
online version of this book, the word Note appears instead of this
symbol.
Caution: Incorrect device operation may result if ...
Caution: Device damage may result if ...
A Caution identifies conditions or inappropriate usage of the product
that could lead to undesirable results or product damage. In the online
version of this book, the word Caution appears instead of this symbol.
Warn in g: Injury to device users may result if ...
A Warning identifies conditions or inappropriate usage of the product
that could lead to conditions that are potentially hazardous for the
devices users. In the online version of this book, the word Wa rn in g
appears instead of this symbol.
1INTRODUCTION
The majority of this manual describes the loader utility (or loader) program as well as the process of loading and splitting, the final phase of the
application development flow.
Most of this chapter applies to all 8-, 16-, and 32-bit data processors.
Information specific to a particular target processor, or to a particular processor family, is provided in the following chapter.
•Chapter 2, “Loader/Splitter for Blackfin Processors”
•Chapter 3, “Loader for ADSP-2106x/21160 SHARC Processors”
•Chapter 4, “Loader for ADSP-21161 SHARC Processors”
•Chapter 5, “Loader for ADSP-2126x/2136x/2137x SHARC
Processors”
•Chapter 6, “Loader for TigerSHARC Processors”
•Chapter 7, “Splitter for SHARC and TigerSHARC Processors”
•Appendix A, “File Formats”
•Appendix B, “Utilities”
L
VisualDSP++ 4.5 Loader and Utilities Manual1-1
The code examples in this manual have been compiled using
VisualDSP++ 4.5. The examples compiled with another version of
VisualDSP++ may result in build errors or different output;
although, the highlighted algorithms stand and should continue to
stand in future releases of VisualDSP++.
Definition of Terms
Definition of Terms
Loader and Loader Utility
The term loader refers to a loader utility that is part of the VisualDSP++
development tools suite. The loader utility post-processes one or multiple
executable (.dxe) files, extracts segments that have been declared by the
TYPE(RAM) command in a Linker Description File (.ldf), and generates a
loader file (.ldr). Since the .dxe file meets the Executable and Linkable
Format (ELF) standard, the loader utility is often called elfloader utility.
See also “Loader Utility Operations” on page 1-10.
Splitter Utility
The splitter utility is part of the VisualDSP++ development tools suite.
The splitter utility post-processes one or multiple executable (.dxe) files,
extracts segments that have been declared by the TYPE(R0M) command a
Linker Description File (.ldf), and generates a file consisting of processor
instructions (opcodes). If burned into an EPROM or flash memory device
which connects to the target processor’s system bus, the processor can
directly fetch and execute these instructions. See also “Splitter Utility
Operations” on page 1-11.
Splitter and loader jobs can be managed either by separate utility programs or by the same program (see “Non-bootable Files Versus
Boot-loadable Files” on page 1-9). In the later case, the generated output
file may contain code instructions and boot streams.
Loader File
A loader file is generated by the loader utility. The file typically has the
.ldr extension and is often called an LDR file. Loader files can meet one
of multiple formats. Common formats are Intel-hex, binary, or ASCII representation. Regardless of the format, the loader file describes a boot
image, which can be seen as the binary version of the loader file. See also
“Non-bootable Files Versus Boot-loadable Files” on page 1-9.
1-2VisualDSP++ 4.5 Loader and Utilities Manual
Introduction
Loader Command Line
If invoked from a command-line prompt, the loader and splitter utilities
accept numerous control switches to customize the loader file generation.
Loader Property Page
The loader property page is part of the Project Options dialog box of the
VisualDSP++ graphical user interface. The property page is a graphical
tool that assists in composing the loader utility’s command line.
Boot Mode
Most processors support multiple boot modes. A boot mode is determined
by special input pins that are interrogated when the processor awakes from
either a reset or power-down state. See also “Boot Modes” on page 1-12.
Boot Kernel
A boot kernel is software that runs on the target processor. It reads data
from the boot source and interprets the data as defined in the boot stream
format. The boot kernel can reside in an on-chip boot ROM or in an
off-chip ROM device. Often, the kernel has to be pre-booted from the
boot source before it can be executed. In this case, the loader utility puts a
default kernel to the front of the boot image, or, allows the user to specify
a customized kernel. See also “Boot Kernels” on page 1-14.
Boot ROM
A boot ROM is an on-chip read-only memory that holds the boot kernel
and, in some cases, additional advanced booting routines.
Second-Stage Loader
A second-stage loader is a special boot kernel that extends the default booting mechanisms of the processor. It is typically booted by a first-stage
kernel in a standard boot mode configuration. Afterward, it executes and
boots in the final applications. See also “Boot Kernels” on page 1-14.
VisualDSP++ 4.5 Loader and Utilities Manual1-3
Definition of Terms
Boot Source
A boot source refers to the interface through which the boot data is loaded
as well as to the storage location of a boot image, such as a memory or host
device.
Boot Image
A boot image that can be seen as the binary version of a loader file. Usually,
it has to be stored into a physical memory that is accessible by either the
target processor or its host device. Often it is burned into an EPROM or
downloaded into a flash memory device using the VisualDSP++ Flash Programmer plug-in.
The boot image is organized in a special manner required by the boot kernel. This format is called a boot stream. A boot image can contain one or
multiple boot streams. Sometimes the boot kernel itself is part of the boot
image.
Boot Stream
A boot stream is basically a list of boot blocks. It is the data structure that is
processed and interpret by the boot kernel. The VisualDSP++ loader utility generates loader files that contain one or multiple boot streams. A boot
stream often represents one application. However, a linked list of multiple
application-level boot streams is referred to as a boot stream. See also
“Boot Streams” on page 1-15.
Boot Block
Multiple boot blocks form a boot stream. These blocks consist of boot data
that is preceded by a block header. The header instructs the boot kernel
how to interpret the payload data. In some cases, the header may contain
special instructions only. In such blocks, there is likely no payload data
present.
1-4VisualDSP++ 4.5 Loader and Utilities Manual
Introduction
Initialization Code
Initialization code is part of a boot stream and can be seen as a special boot
block. While normally all boot blocks of an application are booted in first
and control is passed to the application afterward, the initialization code
executes at boot time. It is common that an initialization code is booted
and executed before any other boot block. This initialization code can customize the target system for optimized boot processing.
Global Header
Some boot kernels expect a boot stream to be headed by a special information tag. The tag is referred to as a global header.
Boot Strapping
If the boot process consists of multiple steps, such as pre-loading the boot
kernel or managing second-stage loaders, this is called boot strapping.
Slave Boot
The term slave boot spawns all boot modes where the target processor
functions as a slave. This is typically the case when a host device loads data
into the target processor’s memories. The target processor can wait passively in idle mode or support the host-controlled data transfers actively.
Note that the term host boot usually refers only to boot modes that are
based on so-called host port interfaces.
Master Boot
The term master boot spawns all boot modes where the target processor
functions as master. This is typically the case when the target processor
reads the boot data from parallel or serial memories.
VisualDSP++ 4.5 Loader and Utilities Manual1-5
Program Development Flow
Boot Manager
A boot manager is a firmware that decides what application has to be
booted. An application is usually represented by a VisualDSP++ project
and stored in a
application .dxe file, or have its own separate .dxe file. Often, the boot
manager is executed by so-called initialization codes.
In slave boot scenarios, boot management is up to the host device and
does not require special VisualDSP++ support.
Multi-.dxe Boot
A loader file may consist of multiple applications if the loader utility was
invoked by specifying multiple .dxe files. Either a boot manager decides
what application has to be booted exclusively or, alternatively, one application can terminate and initiate the next application to be booted. In
some cases, a single application can also consist of multiple .dxe files.
.dxe file. The boot manger itself can be managed within an
Next .dxe File Pointer
If a loader file contains multiple applications, some boot stream formats
enable them to be organized as a linked list. The next .dxe pointer or
(NDP) is simply a pointer to a location where the next application’s boot
stream resides.
Program Development Flow
Figure 1-1 is a simplified view of the application development flow.
The development flow can be split into three phases:
1. “Compiling and Assembling”
2. “Linking”
3. “Loading, Splitting, or Both”
1-6VisualDSP++ 4.5 Loader and Utilities Manual
Introduction
SOURCE
FILES
.ASM, .C, .CP P
ASSEMBLER
AND/OR
COMPILER
PROCESSOR
.DOJ
TARG E T S YSTEM
BOOTING
UPON
RESET
LINKER
EXTERNAL
MEMORY
.DXE
.LDR
LOADER
AND/OR
SPLITTER
Figure 1-1. Program Development Flow
A brief description of each phase follows.
Compiling and Assembling
Input source files are compiled and assembled to yield object files. Source
files are text files containing C/C++ code, compiler directives, possibly a
mixture of assembly code and directives, and, typically, preprocessor commands. The assembler and compiler are documented in the VisualDSP++
4.5 Assembler and Preprocessor Manual and VisualDSP++ 4.5 C/C++ Compiler and Library Manual, which are part of the online help.
Linking
Under the direction of the linker description file (LDF) and linker settings, the linker consumes separately-assembled object and library files to
yield an executable file. If specified, the linker also produces the shared
memory files and overlay files. The linker output (.dxe files) conforms to
VisualDSP++ 4.5 Loader and Utilities Manual1-7
Program Development Flow
the ELF standard, an industry-standard format for executable files. The
linker also produces map files and other embedded information
(DWARF-2) used by the debugger.
These executable files are not readable by the processor hardware directly.
They are neither supposed to be burned onto an EPROM or flash memory
device. Executable files are intended for VisualDSP++ debugging targets,
such as the simulator or emulator. Refer to the VisualDSP++ 4.5 Linker and Utilities Manual and online Help for information about linking and
debugging.
Loading, Splitting, or Both
Upon completing the debug cycle, the processor hardware needs to run on
its own, without any debugging tools connected. After power-up, the
processor’s on-chip and off-chip memories need to be initialized. The process of initializing memories is often referred to as booting. Therefore, the
linker output must be transformed to a format readable by the processor.
This process is handled by the loader and/or splitter utility. The
loader/splitter utility uses the debugged and tested executable files as well
as shared memory and overlay files as inputs to yield a processor-loadable
file.
VisualDSP++ 4.5 includes these loader and splitter utilities:
elfloader.exe (loader utility) for Blackfin, TigerSHARC, and
•
SHARC processors. The loader utility for Blackfin processors also
acts as a ROM splitter utility when evoked with the corresponding
switches.
•elfspl21k.exe (ROM splitter utility) for TigerSHARC and
SHARC processors.
The loader/splitter output is either a boot-loadable or non-bootable file.
The output is meant to be loaded onto the target. There are several ways
to use the output:
1-8VisualDSP++ 4.5 Loader and Utilities Manual
Loading...
+ 268 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.