ANALOG DEVICES W3.5 Loader Manual

W 3.5
Loader Manual
for 16-Bit Processors
Analog Devices, Inc. One Technology Way Norwood, Mass. 02062-9106
Revision 1.0, October 2003
Part Number
82-000035-04
a
Copyright Information
© 2003 Analog Devices, Inc., ALL RIGHTS RESERVED. This docu­ment may not be reproduced in any form without prior, express written consent from Analog Devices, Inc.
Printed in the USA.
Disclaimer
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 impli­cation 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, CROSSCORE, the CROSSCORE logo, and EZ-KIT Lite are registered trademarks of Analog Devices, Inc.
VisualDSP++ and the VisualDSP++ logo are 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 .................................................................. xi
Intended Audience .......................................................................... xi
Manual Contents ........................................................................... xii
Technical or Customer Support ...................................................... xii
Supported Processors ..................................................................... xiii
Product Information ..................................................................... xiii
MyAnalog.com ......................................................................... xiv
Embedded Processor and DSP Product Information .................. xiv
Related Documents ................................................................... xv
Online Technical Documentation .............................................. xv
From VisualDSP++ .............................................................. xvi
From Windows .................................................................... xvi
From the Web ..................................................................... xvii
Printed Manuals ...................................................................... xvii
VisualDSP++ Documentation Set ........................................ xvii
Hardware Manuals ............................................................. xviii
Datasheets ......................................................................... xviii
Contacting DSP Publications .................................................. xviii
VisualDSP++ 3.5 Loader Manual iii for 16-Bit Processors
Notation Conventions ................................................................... xix
INTRODUCTION
Program Development Flow .......................................................... 1-1
Compiling and Assembling ..................................................... 1-2
Linking ................................................................................... 1-2
Loading and Splitting .............................................................. 1-2
Boot-loadable Files Versus Non-bootable Files ......................... 1-4
Booting Modes ............................................................................. 1-5
No-boot Mode ........................................................................ 1-5
PROM Booting Mode ............................................................. 1-6
Host Booting Mode ................................................................ 1-6
Boot Kernels ................................................................................ 1-7
Loader Tasks ................................................................................. 1-8
Loader Files .................................................................................. 1-8
File Searches ........................................................................... 1-9
BLACKFIN PROCESSOR LOADER/SPLITTER
Blackfin Processor Booting ............................................................ 2-2
ADSP-BF535 Processor Booting .............................................. 2-3
ADSP-BF535 Processor On-Chip Boot ROM ..................... 2-4
ADSP-BF535 Processor Second-Stage Loader ...................... 2-6
ADSP-BF535 Processor Boot Streams ................................. 2-8
Output Loader Files ........................................................ 2-9
Global Headers and Blocks ........................................... 2-11
iv VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Contents
Flags ............................................................................. 2-13
ADSP-BF535 Processor Memory Ranges ........................... 2-13
Second-Stage Loader Restrictions ................................... 2-14
ADSP-BF531/BF532/BF533 Processor Booting ..................... 2-16
ADSP-BF531/BF532/BF533 Processor On-Chip Boot ROM 2-17
ADSP-BF531/BF532/BF533 Processor Boot Streams ......... 2-19
Blocks and Block Headers ............................................. 2-19
Flags of Block Header ................................................... 2-20
Initialization Blocks ...................................................... 2-21
ADSP-BF531/BF532/BF533 Processor Memory Ranges .... 2-25
ADSP-BF531/BF532/BF533 Processor SPl Memory Boot Sequence
2-26
ADSP-BF561 Processor Booting ............................................ 2-28
ADSP-BF561 Processor Boot Streams ................................ 2-29
ADSP-BF561 Processor Memory Ranges ........................... 2-34
ADSP-BF561 Processor Initialization Blocks ...................... 2-35
ADSP-BF561 Multiple .DXE Booting ........................... 2-36
ADSP-BF531/BF532/BF533 and ADSP-BF561 Multiple .DXE Booting
2-37
Blackfin Processor Loader Guide ................................................. 2-40
Using Loader Command Line ................................................ 2-40
File Searches ..................................................................... 2-41
File Extensions .................................................................. 2-41
Command-Line Switches ................................................... 2-42
Using Base Loader ................................................................. 2-47
VisualDSP++ 3.5 Loader Manual v for 16-Bit Processors
Using Second-Stage Loader ................................................... 2-49
Using ROM Splitter .............................................................. 2-51
No-boot Mode ................................................................. 2-53
ADSP-219X DSP LOADER/SPLITTER
ADSP-219x DSP Booting ............................................................. 3-2
ADSP-219x DSP Boot Modes ................................................. 3-3
ADSP-219x DSP Boot Kernel ................................................. 3-4
ADSP-219x DSP Boot Streams ............................................... 3-4
Parallel EPROM Boot Streams ................................................ 3-4
Block Headers .................................................................... 3-5
Data Blocks ........................................................................ 3-6
ADSP-219x DSP Multiple .DXE Support ........................... 3-7
Host Booting ........................................................................ 3-10
UART Booting ..................................................................... 3-11
Serial EPROM Booting ......................................................... 3-12
No-booting ........................................................................... 3-12
Enriching Boot EPROMs with No-boot Data ................... 3-16
ADSP-219x DSP Loader Guide .................................................. 3-19
ADSP-219x Loader Command-Line Reference ...................... 3-19
File Searches ..................................................................... 3-20
File Extensions ................................................................. 3-20
Loader Switches ................................................................ 3-21
vi VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Contents
ADSP-2192-12 DSP LOADER
ADSP-2192 DSP Booting ............................................................. 4-2
ADSP-2192 DSP Reset Types .................................................. 4-2
ADSP-2192 DSP RTBL .......................................................... 4-4
Building .DXE Files ............................................................ 4-5
Creating a .EXE File ........................................................... 4-6
Reference RTBL .................................................................. 4-7
ADSP-2192 DSP RBTL and Overlays ...................................... 4-8
Using Overlay Symbols ....................................................... 4-9
ADSP-2192 DSP Loader Guide .................................................. 4-10
Single-Processor Command Line ............................................ 4-10
Two-Processor Command Line .............................................. 4-11
File Searches ..................................................................... 4-12
File Extensions .................................................................. 4-13
Loader Command-Line Switches ............................................ 4-13
ADSP-218X DSP LOADER/SPLITTER
ADSP-218x DSP Loader Guide ..................................................... 5-1
Boot Modes ............................................................................. 5-2
Determining Boot Modes ........................................................ 5-4
EPROM Booting (BDMA) ...................................................... 5-6
ADSP-218x BDMA Loader Command-Line Reference ........ 5-7
File Searches ................................................................... 5-9
File Extensions ................................................................ 5-9
VisualDSP++ 3.5 Loader Manual vii for 16-Bit Processors
Loader Switches .............................................................. 5-9
Host Booting (IDMA) .......................................................... 5-11
ADSP-218x IDMA Loader Command-Line Reference ....... 5-13
No Booting ........................................................................... 5-13
ADSP-218x DSP Splitter Guide .................................................. 5-15
Using Splitter ........................................................................ 5-15
ADSP-218x Splitter Command-Line Reference ...................... 5-16
FIL E FOR M ATS
Source Files .................................................................................. A-2
C/C++ Source Files ................................................................. A-2
Assembly Source Files .............................................................. A-3
Assembly Initialization Data Files ............................................ A-3
Header Files ............................................................................ A-4
Linker Description Files .......................................................... A-4
Linker Command-Line Files .................................................... A-5
Build Files .................................................................................... A-5
Assembler Object Files ............................................................ A-5
Library Files ............................................................................ A-6
Linker Output Files ................................................................ A-6
Memory Map Files .................................................................. A-7
Loader Output Files in Intel Hex-32 Format ............................ A-7
Splitter Output Files in ASCII Format ..................................... A-9
Debugger Files .............................................................................. A-9
Format References ...................................................................... A-10
viii VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
INDEX
Contents
VisualDSP++ 3.5 Loader Manual ix for 16-Bit Processors
x VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors

PREFACE

Thank you for purchasing Analog Devices development software for digital signal processor (DSP) applications.

Purpose of This Manual

The VisualDSP++ 3.5 Loader Manual for 16-Bit Processors contains infor- mation on how to use the loader/splitter to convert executable files into boot-loadable (or non-bootable) files for 16-bit fixed-point ADSP-21xx DSPs and Blackfin® processors. These files are then programmed/burned into an external memory device within your target system.

Intended Audience

The primary audience for this manual is DSP programmers who are familiar with Analog Devices DSPs. This manual assumes that the audi­ence has a working knowledge of the appropriate DSP architecture and instruction set. Programmers who are unfamiliar with Analog Devices DSPs can use this manual but should supplement it with other texts, such as Hardware Reference and Instruction Set Reference manuals, that describe your target architecture.
VisualDSP++ Loader Manual xi for 16-Bit Processors

Manual Contents

Manual Contents
The manual contains:
Chapter 1, “Introduction”
Chapter 2, “Blackfin Processor Loader/Splitter”
Chapter 3, “ADSP-219x DSP Loader/Splitter”
Chapter 4, “ADSP-2192-12 DSP Loader”
Chapter 4, “ADSP-218x DSP Loader/Splitter”
Appendix A, “File Formats”

Technical or Customer Support

You can reach DSP Tools Support in the following ways.
Visit the DSP Development Tools website at
www.analog.com/technology/dsp/developmentTools/index.html
Email questions to dsptools.support@analog.com
Phone questions to 1-800-ANALOGD
Contact your ADI 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
xii VisualDSP++ Loader Manual
for 16-Bit Processors

Supported Processors

The name “ADSP-21xx” refers to two families of Analog Devices 16-bit, fixed-point processors. VisualDSP++ for ADSP-21xx DSPs currently supports the following processors.
ADSP-218x family DSPs: ADSP-2181, ADSP-2183, ADSP-2184/84L/84N, ADSP-2185/85L/85M/85N, ADSP-2186/86L/86M/86N, ADSP-2187L/87N, ADSP-2188L/88N, and ADSP-2189M/89N
ADSP-219x family DSPs: ADSP-2191, ADSP-2192-12, ADSP-2195, ADSP-2196, ADSP-21990, ADSP-21991, and ADSP-21992
The name “Blackfin” refers to a family of Analog Devices 16-bit, embed­ded processors. VisualDSP++ currently supports the following Blackfin processors.
Preface
Blackfin Processors: ADSP-BF531, ADSP-BF532 (formerly ADSP-21532), ADSP-BF533, ADSP-BF535 (formerly ADSP-21535), ADSP-BF561, and AD6532

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 infor­mation about a broad range of products—analog integrated circuits, amplifiers, converters, and digital signal processors.
VisualDSP++ Loader Manual xiii for 16-Bit Processors
Product Information

MyAnalog.com

MyAnalog.com is a free feature of the Analog Devices website that allows customization of a webpage to display only the latest information on products you are interested in. You can also choose to receive weekly email notification containing updates to the webpages 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 means for you to select the information you want to receive.
If you are already a registered user, just log on. Your user name is your email address.

Embedded Processor and DSP Product Information

For information on digital signal processors, visit our website at
www.analog.com/processors, which provides access to technical publica-
tions, datasheets, 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.
Email questions or requests for information to
dsp.support@analog.com
Fax questions or requests for information to
1-781-461-3010 (North America) +49 (0) 089 76 903 557 (Europe)
Access the Digital Signal Processor Division’s FTP website at
ftp ftp.analog.com or ftp 137.71.23.21
ftp://ftp.analog.com
xiv VisualDSP++ Loader Manual
for 16-Bit Processors
Preface

Related Documents

For information on product related development software, see the follow­ing publications.
VisualDSP++ 3.5 Getting Started Guide for 16-Bit Processors VisualDSP++ 3.5 User’s Guide for 16-Bit Processors VisualDSP++ 3.5 Product Release Bulletin for 16-Bit Processors VisualDSP++ 3.5 C/C++ Compiler and Library Manual for Blackfin Processors VisualDSP++ 3.5 C/C++ Compiler and Library Manual for ADSP-219x DSPs VisualDSP++ 3.5 C Compiler and Library Manual for ADSP-218x DSPs VisualDSP++ 3.5 Linker and Utilities Manual for 16-Bit Processors VisualDSP++ 3.5 Assembler and Preprocessor Manual for Blackfin Processors VisualDSP++ 3.5 Assembler and Preprocessor Manual for ADSP-218x and ADSP-219x DSPs VisualDSP++ 3.5 Kernel (VDK) User’s Guide for 16-Bit Processors VisualDSP++ 3.5 Component Software Engineering User’s Guide for 16-Bit Processors Quick Installation Reference Card
For hardware information, refer to your DSP’s Hardware Reference manual and datasheet.

Online Technical Documentation

Online documentation comprises the VisualDSP++ Help system and tools manuals, Dinkum Abridged C++ library, and FlexLM network license manager software documentation. You can easily search across the entire VisualDSP++ documentation set for any topic of interest. For easy print­ing, supplementary
A description of each documentation file type is as follows.
VisualDSP++ Loader Manual xv for 16-Bit Processors
.PDF files for the tools manuals are also provided.
Product Information
File Description
.CHM Help system files and VisualDSP++ tools manuals. .HTM or
.HTML
.PDF VisualDSP++ manuals in Portable Documentation Format, one .PDF file for each
Dinkum Abridged C++ library and FlexLM network license manager software doc­umentation. Viewing and printing the net Explorer 4.0 (or higher).
manual. Viewing and printing a .PDF file require a PDF reader, such as Adobe Acrobat Reader (4.0 or higher).
.HTML files require a browser, such as Inter-
If documentation is not installed on your system as part of the software installation, you can add it from the VisualDSP++ CD-ROM at any time by rerunning the Tools installation.
Access the online documentation from the VisualDSP++ environment, Windows Explorer, or Analog Devices Web site.
From VisualDSP++
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).
From Windows
In addition to shortcuts you may have constructed, there are many ways to open VisualDSP++ online Help or the supplementary documentation from Windows.
Help system files (.CHM files) are located in the Help folder, and .PDF files are located in the
Docs folder of your VisualDSP++ installation. The Docs
folder also contains the Dinkum Abridged C++ library and FlexLM net­work license manager software documentation.
xvi VisualDSP++ Loader Manual
for 16-Bit Processors
Preface
Using Windows Explorer
Double-click any file that is part of the VisualDSP++ documenta­tion set.
Double-click the vdsp-help.chm file, which is the master Help sys­tem, to access all the other .CHM files.
Using the Windows Start Button
Access VisualDSP++ online Help by clicking the Start button and choos­ing Programs, Analog Devices, VisualDSP++ for 16-bit processors , and VisualDSP++ Documentation.
From the Web
To download the tools manuals, point your browser at
www.analog.com/technology/dsp/developmentTools/gen_purpose.html.
Select a DSP 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.
VisualDSP++ Documentation Set
VisualDSP++ manuals may be purchased through Analog Devices Customer Service at 1-781-329-4700; ask for a Customer Service representative. The manuals can be purchased only as a kit. For additional information, call 1-603-883-2430.
VisualDSP++ Loader Manual xvii for 16-Bit Processors
Product Information
If you do not have an account with Analog Devices, you will be referred to Analog Devices distributors. To get information on our distributors, log onto http://www.analog.com/salesdir/continent.asp.
Hardware Manuals
Hardware reference and instruction set reference manuals can be ordered through the Literature Center or downloaded from the Analog Devices Web site. The phone number is 1-800-ANALOGD (1-800-262-5643). The manuals can be ordered by a title or by product number located on the back cover of each manual.
Datasheets
All datasheets can be downloaded from the Analog Devices Web site. As a general rule, any datasheet with a letter suffix (L, M, N) can be obtained from the Literature Center at 1-800-ANALOGD (1-800-262-5643) or downloaded from the Web site. Datasheets without the suffix can be downloaded from the Web site only—no hard copies are available. You can ask for the datasheet by a part name or by product number.
If you want to have a datasheet faxed to you, the phone number for that service is 1-800-446-6212. Follow the prompts and a list of datasheet code numbers will be faxed to you. Call the Literature Center first to find out if requested datasheets are available.

Contacting DSP Publications

Please send your comments and recommendation on how to improve our manuals and online Help. You can contact us at
dsp.techpubs@analog.com.
xviii VisualDSP++ Loader Manual
for 16-Bit Processors

Notation Conventions

The following table identifies and describes text conventions used in this manual.
Preface
!
Example Descriptio n Close command
(File menu)
{this | that} Altern ative required items in syntax descriptions appear within curly
[this | that] Optional items in syntax descriptions appear within br ackets and s epa-
[this,…] Optional item lists in syntax descriptions appear within brackets
.SECTION Commands, directives, keywords, and feature names are in text with
filename Non-keyword placeholders appear in text with italic style format.
appear throughout this document.
Text in bold style indicates the location of an item within the VisualDSP++ environment’s menu system. For example, the Close command appears on the File menu.
brackets and separated by vertical bars; read the example as
that.
rated by vertical bars; read the example as an optional this or that.
delimited by commas and terminated with an ellipsis; read the example as an optional comma-separated list of
letter gothic font.
A note, providing information of special interest or identifying a related topic. In the online version of this book, the word Note appears instead of this symbol.
this or
this.
Additional conventions, which apply only to specific chapters, may
A caution, providing information about critical design or program­ming issues that influence operation of a product. In the online version of this book, the word Caution appears instead of this symbol.
Code has been formatted to fit this manual’s page width.
!
VisualDSP++ Loader Manual xix for 16-Bit Processors
Notation Conventions
xx VisualDSP++ Loader Manual
for 16-Bit Processors

1 INTRODUCTION

The majority of this manual describes the loader program (or loader util­ity) as well as the process of loading and splitting, the final phase of a DSP application program’s development flow. The process of initializing on-chip and off-chip memories, is often referred to as booting.
The majority of this chapter applies to all 16-bit processors. Information applicable to a particular target processor, or to a particular processor fam­ily, is provided in the following chapters.
Chapter 2, “Blackfin Processor Loader/Splitter” on page 2-1
Chapter 3, “ADSP-219x DSP Loader/Splitter” on page 3-1
Chapter 4, “ADSP-2192-12 DSP Loader” on page 4-1
Chapter 5, “ADSP-218x DSP Loader/Splitter” on page 5-1

Program Development Flow

The flow can be split into three phases:
1. “Compiling and Assembling”
2. “Linking”
3. “Loading and Splitting”
A brief description of each phase is as follows.
VisualDSP++ 3.5 Loader Manual 1-1 for 16-Bit Processors
Program Development Flow

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 com­mands. Refer to the VisualDSP++ 3.5 Assembler and Preprocessor Manual or the VisualDSP++ 3.5 C/C++ Compiler and Library Manual for informa­tion about the assembler and compiler source files.

Linking

Under the direction of the Linker Description File (LDF) and linker set­tings, the linker consumes separately assembled object and library files to yield an executable file. If specified, shared memory and overlay files are also produced. The linker output conforms to the Executable and Link­able Format (ELF), an industry-standard format for executable files. The linker also produces map files and other embedded information used by the debugger (DWARF-2).
These executable files (.DXE) are not readable by the processor hardware directly. They are neither supposed to be burned onto a EPROM or Flash memory device. Executable files are consumed by VisualDSP++ debugging targets, such as the simulator or emulator. Refer to the VisualDSP++ 3.5 Linker and Utilities Manual for 16-Bit Processors and online Help for infor­mation about linking and debugging.

Loading and Splitting

Upon completing the debug cycle, the processor hardware needs to run on its own, without any debugging tools connected. After power-up, proces­sor memories need to be initialized to be booted. Therefore, the linker output must be transformed to a format readable by the processor. This process is handled by the loader/splitter utility. The loader/splitter uses the debugged and tested executable as well as shared memory and overlay files as inputs to yield a processor-loadable file.
1-2 VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Introduction
VisualDSP++ includes two loader/splitter programs:
elfloader.exe for ADSP-BF5xx and ADSP-219x processors
elfspl21.exe for ADSP-218x processors
You can run the loader/splitter from the IDDE. In order to do so, change you project’s type from DSP Executable to DSP Loader File. If preferred, the command-line interface is also available.
Loader operations depend on loader options, which control how the loader processes executable files, letting you select features such as kernels, boot modes, and output file formats. These options are set on the Load page of the Project Options dialog box in the VisualDSP++ environment or on the loader’s command line. Option settings on the Load page corre- spond to switches typed on the command line.
The loader/splitter output is either a boot-loadable or non-bootable file (described in the following “Boot-loadable Files Versus Non-bootable
Files”). The output is meant to be loaded onto the target. There are sev-
eral ways to use the output:
Download the loadable file into the processor’s PROM space on an EZ-KIT Lite board via the Flash Programmer plug-in. Refer to VisualDSP++ Help or the EZ-KIT Lite Evaluation System Manual for information on the Flash Programmer.
Use VisualDSP++ to simulate booting in a simulator session (where supported). Load the loader file and then reset the processor to debug the booting routines. No hardware is required: just point to
VisualDSP++ 3.5 Loader Manual 1-3 for 16-Bit Processors
Program Development Flow
the location of the loader file, letting the simulator to do the rest. You can step through the boot kernel code as it brings the rest of the code into memory.
Store the loader file in an array on a multiprocessor system. A mas­ter (host) processor has the array in its memory, allowing a full control to reset and load the file into the memory of a slave processor.

Boot-loadable Files Versus Non-bootable Files

A boot-loadable file is transported into and run from a processor’s internal memory (on-chip boot ROM). (Note: This is different for ADSP-218x processors.) The file is then programmed (burned) into an external mem­ory device within your target system. The loader outputs files in industry-standard file formats, such as Intel hex-32 and Motorola S, which are readable by most EPROM burners. For advanced usage, other file formats are supported.
A non-bootable EPROM-image file executes from the processor’s external memory, bypassing the build-in boot mechanisms. Preparing a non-boota­ble EPROM image is called splitting. In most cases, developers working with 16-bit processors use the loader instead of the splitter.
A processor’s booting sequence and an application program’s design dic­tate the way you call the loader/splitter programs to consume and transform executables. For 16-bit processors, splitter and loader features are handled by a single program. The splitter is invoked by a completely different set of command-line switches than the loader. Refer to the guide sections of the following chapters for information about splitting.
1-4 VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Introduction

Booting Modes

A fully debugged program can be automatically downloaded to the proces­sor after power-up or after a software reset. This process is called booting. The way the loader creates a boot-loadable file depends upon how your program is booted into the processor.
Once an executable is fully debugged, it is ready to be converted into a processor-loadable file.
The exact boot mode of the processor is determined by sampling one or more of input flag pins. Booting sequences, highly processor-specific, are detailed in the following chapters.
ADSP-218x, ADSP-219x, and Blackfin processors support different boot mechanisms. Generally spoken, the following schemes can be used to pro­vide program instructions to the processors after reset.
“No-boot Mode”
“PROM Booting Mode”
“Host Booting Mode”

No-boot Mode

The processors starts fetching and executing instructions from EPROM/Flash memory devices directly. This scheme does not require any loader mechanism. It is up to the user program to initialize volatile memories.
The splitter utility helps to generate a file that can be burned into the PROM memory.
VisualDSP++ 3.5 Loader Manual 1-5 for 16-Bit Processors
Booting Modes

PROM Booting Mode

After reset, the processor starts reading data from any parallel or serial PROM device. The PROM stores a formatted boot stream rather than raw instruction code. Beside application data, the boot stream contains addi­tional data, such as destination addresses and word counts. A small program called kernel or loader kernel (described on page 1-7) parses the boot stream and initializes memories accordingly. The loader kernel runs on the target processors. Depending on the architecture, the loader kernel may execute from on-chip boot ROM or may be pre-loaded from the PROM device into on-chip SRAM and execute from there.
The loader utility generates the boot stream from the linker’s executable file and stores it to file format that can be burned into the PROM.

Host Booting Mode

In this scheme, the target processor is slave to a host system. After reset, the processor delays program execution until it gets signalled by the host system that the boot process has completed. Depending on hardware capa­bilities, there are two different methods of host booting. In the first case, the host system has full control over all target memories. It halts the target while it is initializing all memories as required. In the second case, the host communicates by a certain handshake with the loader kernel running on the target processor. This kernel may execute from on-chip ROM or may be pre-loaded by the host devices into the target’s SRAM by any boot-strapping scheme.
The loader/splitter utility generates a file that can be consumed by the host device. It depends on the intelligence of the host device and on the target architecture whether the host expects raw application data or a for­matted boot stream.
1-6 VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Introduction
In this context, a boot-loadable file is a file that stores instruction code in a formatted manner in order to be processed by a boot kernel. A non-bootable file stores raw instruction code. Note that in some case, a single file may contain both types of data.

Boot Kernels

A (loader) boot kernel refers to the resident program in the boot ROM space responsible for booting the processor. Alternatively (or in absence of the boot ROM), the boot kernel can be pre-loaded from the boot source by a boot-strapping scheme.
When a reset signal is sent to the processor, the processor starts booting from a PROM, host device, or through a communication port. For exam­ple, a ADSP-218x/219x processor brings a 256-word program in internal memory for execution. This small program is called a boot kernel. The boot kernel then brings the rest of the booting routines into the proces­sor’s memory. Finally, the boot kernel overwrites itself with the final block and jumps to the beginning of the application program.
On the ADSP-219x DSPs, the highest 16 locations in page 0 program memory and the highest 272 locations in page 0 data memory are reserved for use by the ROM boot routines (typically for setting up DMA data structures and for bookkeeping operations). Ensure that the boot sequence entry code or boot-loaded program do not need to initialize this space at boot time. However, the program can use these locations at run-time.
Some of the newer Blackfin processors (ADSP-BF531, ADSP-BF532, and ADSP-BF533) do not require a boot kernel: the advanced on-chip boot ROM allows the entire application program body to be booted into the internal memory of the processor. The on-chip boot ROM for the former processors behaves similar to the second-stage loader of ADSP-BF535 pro­cessors. The boot ROM has the capability to parse address and count information for each bootable block.
VisualDSP++ 3.5 Loader Manual 1-7 for 16-Bit Processors

Loader Tasks

Loader Tasks
Common tasks perform by the loader include:
Processing loader option settings or command-line switches.
Formatting the output .LDR file according to user specifications. Supported formats are binary, ASCII, hex-32, and more. Valid file formats are described in Appendix A on page A-1.
Packing the code for a particular data format: 8- or 16-bit.
If specified, adding a boot kernel on top of the user code.
If specified, preprogramming the location of the .LDR file in PROM space.
Specifying processor IDs for multiple input .DXEs for a multipro­cessor system.

Loader Files

The loader/splitter output is essentially the same executable code as in the input .DXE file. The loader repackages the executable, as illustrated in
Figure 1-1.
Processor code in a loader file is split into blocks. Each code block is marked with a tag that contains information about the block, such as a number of words or destination in processor’s memory. Depending on the processor family, there may be additional information in the tag. Com­mon block types are “zero” (memory is filled with 0s); non-zero (code or data); and final (code or data). Depending on the processor family, there may be other block types.
1-8 VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Introduction
.LDR File
Code
Data
Symbols
DebugInformation
An .LDR file includes:
DSPinstructions (codeand data) Rudimentary formatting
All ofthedebugginginformation has been taken out of the file
A .DXE file includes:
Symboltable andsection
information
Targetprocessor's memory
layout
Degugging information
Code instru ct io ns
.DXE File
Code
Data
Symbols
Debug Information

Figure 1-1. .DXE Files versus .LDR Files

File Searches

File searches are important in the loader operation. The loader supports relative and absolute directory names, default directories. File searches occur as follows.
Specified path—If you include relative or absolute path informa­tion in a file name, the loader searches only in that location for the file.
Default directory—If you do not include path information in the file name, the loader searches for the file in the current working directory.
Overlay and shared memory files—the loader recognizes overlay memory files but does not expect these files on the command line. Place the files in the same directory as the executable file that refers to them. The loader can locate them when processing the executable.
VisualDSP++ 3.5 Loader Manual 1-9 for 16-Bit Processors
Loader Files
When providing an input or output file as a loader/splitter command-line parameter, use the following guidelines.
Enclose long file names within straight quotes, “long file name”.
Append the appropriate file extension to each file.
1-10 VisualDSP++ 3.5 Loader Manual
for 16-Bit Processors
Loading...
+ 136 hidden pages