Analog Devices Blackfin Getting Started

Type
Getting Started
a
Getting Started
With Blackfin
®
Processors
Revision 2.0, September 2005
Part Number
82-000850-01
Analog Devices, Inc.
One Technology Way
Norwood, Mass. 02062-9106
Copyright Information
©2005 Analog Devices, Inc., ALL RIGHTS RESERVED. This document
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, Blackfin, the Blackfin logo, CrossCore, EZ-KIT
Lite, SHARC, TigerSHARC, and VisualDSP++ are registered trademarks
of Analog Devices, Inc.
The DSP Collaborative is a trademark of Analog Devices, Inc.
All other brand and product names are trademarks or service marks of
their respective owners.
Getting Started With Blackfin Processors iii
CONTENTS
PREFACE
Purpose of This Manual .................................................................. ix
Intended Audience .......................................................................... ix
Manual Contents ............................................................................. x
What’s New in This Manual ............................................................. x
Supported Processors ........................................................................ x
INTRODUCTION
What are Blackfin Processors? ........................................................ 1-1
Combining RISC MCU and DSP Functionality ....................... 1-2
Approaches to Application Development ............................. 1-4
Dual-Core Processors Add Flexibility ................................... 1-6
The Blackfin Family of Processors ............................................ 1-7
Blackfin Processors (Currently Available) ............................. 1-7
Future Blackfin Processor Releases ....................................... 1-9
Blackfin Processor Features .......................................................... 1-10
Performance .......................................................................... 1-11
Low Power Consumption ...................................................... 1-13
Low Cost .............................................................................. 1-14
iv Getting Started With Blackfin Processors
Benchmarking Processors ............................................................ 1-14
BDTI ................................................................................... 1-15
EEMBC ................................................................................ 1-20
Analog Devices Benchmarks .................................................. 1-22
Links to Comparative Benchmarks .................................... 1-22
Code Examples ................................................................. 1-23
Examples Included With VisualDSP++ .............................. 1-23
Device Drivers and System Services ................................... 1-23
Blackfin Processor Compiler and Code Density ................. 1-24
THE EVALUATION PROCESS
DSP Project Development Stages .................................................. 2-1
Simulation .............................................................................. 2-2
Evaluation .............................................................................. 2-3
Emulation ............................................................................... 2-3
Evaluation Tools ........................................................................... 2-3
Selecting Software Development Tools ..................................... 2-4
VisualDSP++ From Analog Devices, Inc. ............................. 2-4
MULTI Integrated Development Environment .................. 2-10
GNU Tool Chain for Blackfin Processor ............................ 2-11
Summary: Software Development Tools ............................ 2-12
Deciding Whether or Not to Use an RTOS ........................... 2-12
VDK Versus a Third Party RTOS ...................................... 2-13
GNU/µClinux .................................................................. 2-14
Selecting Hardware Development Tools ................................. 2-15
Getting Started With Blackfin Processors v
EZ-KIT Lite Evaluation Systems ....................................... 2-15
ADSP-BF533 EZ-KIT Lite
From Analog Devices, Inc. .......................................... 2-17
ADSP-BF537 EZ-KIT Lite
From Analog Devices, Inc. .......................................... 2-20
ADSP-BF561 EZ-KIT Lite
From Analog Devices, Inc. .......................................... 2-22
ADSP-BF535 EZ-KIT Lite
From Analog Devices, Inc. .......................................... 2-24
EZ-KIT Lite Expansion Boards ......................................... 2-26
Blackfin EZ-Extender .................................................... 2-26
ADDS-USBLAN-EZEXT Card ..................................... 2-28
ADDS-BFAV-EZEXT Card ........................................... 2-30
ADSP-BF533 STAMP Board ......................................... 2-31
JTAG Emulators ............................................................... 2-32
High Performance USB 2.0 JTAG Emulator .................. 2-33
USB 1.1 JTAG Emulator ............................................... 2-35
High Performance PCI JTAG Emulator ......................... 2-37
Selecting the Right Combination of Tools .............................. 2-39
Scenario 1 ......................................................................... 2-39
Scenario 2 ......................................................................... 2-40
Software Development on Blackfin Processors ........................ 2-40
vi Getting Started With Blackfin Processors
SUPPORT OPTIONS
Available Support ......................................................................... 3-1
Analog Devices Web Site ......................................................... 3-2
Processor and Tools Selection Information .......................... 3-2
Getting Started Information ............................................... 3-3
Applications Notes, EE-Notes, and Other Articles ............... 3-3
Communities-Related Information ...................................... 3-3
Platforms-Related Information ............................................ 3-4
Workshops and Seminars ......................................................... 3-4
Blackfin Processor Workshops ............................................. 3-4
Blackfin Processor Seminars ................................................ 3-5
TechOnLine Seminars ......................................................... 3-5
µClinux on the Blackfin Processor 3-Day Workshop ............ 3-6
Processor Documentation ........................................................ 3-6
Blackfin Processor Manuals ................................................. 3-6
Hardware Reference Manuals .......................................... 3-6
Instruction Set Reference ................................................ 3-7
Printed Manuals ............................................................. 3-8
Downloadable Manuals ................................................... 3-8
Documentation Errata ........................................................ 3-8
Data Sheets ........................................................................ 3-9
Anomalies Lists for Processors and Tools ............................. 3-9
BSDL Files ....................................................................... 3-10
IBIS Models ..................................................................... 3-10
Getting Started With Blackfin Processors vii
CrossCore Tools Documentation ........................................... 3-10
VisualDSP++ Documentation ........................................... 3-11
VisualDSP++ Getting Started Guide .............................. 3-12
VisualDSP++ Users Guide ............................................ 3-12
VisualDSP++ C/C++ Compiler and Library Manual
for Blackfin Processors ................................................ 3-12
VisualDSP++ Assembler and Preprocessor Manual ......... 3-13
VisualDSP++ Linker and Utilities Manual ..................... 3-13
VisualDSP++ Kernel (VDK) User’s Guide ...................... 3-14
VisualDSP++ Loader Manual ........................................ 3-14
Device Driver and System Service Libraries Manual ....... 3-14
Hardware Tools Documentation ........................................ 3-15
Getting Started With the ADSP-BF5357
EZ-KIT Lite .............................................................. 3-15
ADSP-BF535 EZ-KIT Lite
Evaluation System Manual .......................................... 3-16
ADSP-BF533 EZ-KIT Lite
Evaluation System Manual .......................................... 3-16
ADSP-BF537 EZ-KIT Lite
Evaluation System Manual .......................................... 3-17
ADSP-BF561 EZ-KIT Lite
Evaluation System Manual .......................................... 3-17
Blackfin EZ-Extender Manual ....................................... 3-17
VisualDSP++ Help ............................................................ 3-18
viii Getting Started With Blackfin Processors
The DSP Collaborative ......................................................... 3-19
Technical or Customer Support ............................................. 3-19
MyAnalog.com ..................................................................... 3-20
Registration ...................................................................... 3-20
INDEX
Getting Started With Blackfin Processors ix
PREFACE
Thank you for your interest in the Blackfin® family of processors by
Analog Devices, Inc.
Purpose of This Manual
Getting Started With Blackfin Processors provides you with information
about the evaluation process, Analog Devices tools, training, documenta-
tion, and other informational resources.
This manual provides an overview of a variety of documentation available
in printed and online form as well as a guide for evaluating the Blackfin
processor. This manual also describes the resources available to help you
move your evaluation/design along quickly.
For detailed descriptions of processor internals, refer to the applicable
hardware reference manual. For detailed descriptions of processor soft-
ware, refer to applicable instruction set reference manual. A complete list
of documents that support your product can be found in the “Preface” of
each of the hardware or software manuals.
Intended Audience
The primary audience for this guide are system designers, programmers,
and hardware engineers who want to learn whether a specific Blackfin pro-
cessor matches their design requirements for new applications.
Manual Contents
x Getting Started With Blackfin Processors
Manual Contents
The manual consists of:
Chapter 1, “Introduction”
This chapter briefly describes the processor architecture, available
models, and processor features.
Chapter 2, “The Evaluation Process”
This chapter focuses on available software and hardware tools.
Chapter 3, “Support Options”
This chapter describes support (documentation, training, and
more) available during the evaluation and development processes.
What’s New in This Manual
Revision 2.0 of Getting Started With Blackfin Processors corrects
typographical errors and updates e-mail contact addresses. Also, two
BDTI graphics (Figures 1-6 and 1-7) have been corrected.
Supported Processors
The name Blackfin refers to a family of 16/32-bit processors. As of January
2005, VisualDSP++® supports the following Blackfin processors:
ADSP-BF531 ADSP-BF532
ADSP-BF533 ADSP-BF535
ADSP-BF561 ADSP-BF534
ADSP-BF536 ADSP-BF537
Getting Started With Blackfin Processors xi
Preface
The list of supported Blackfin processors is subject to change. For a com-
plete and up to date listing of Blackfin processors refer to
www.analog.com/blackfin.
Supported Processors
xii Getting Started With Blackfin Processors
Getting Started With Blackfin Processors 1-1
1 INTRODUCTION
This chapter briefly describes the Blackfin processor’s architecture and key
features and compares available models.
Topics include:
“What are Blackfin Processors?” on page 1-1
“Blackfin Processor Features” on page 1-10
“Benchmarking Processors” on page 1-14
What are Blackfin Processors?
Blackfin processors embody a new type of 16/32-bit embedded processor
designed specifically to meet the computational demands and power con-
straints of today’s embedded audio, video, automotive,
industrial/instrumentation, and communications applications.
Blackfin processors deliver breakthrough signal processing performance
and power efficiency with a RISC programming model. Blackfin proces-
sors present high performance, homogeneous software targets, which
allow flexible resource allocation between hard real-time DSP tasks and
non real-time control tasks. System control tasks can often run in the
shadow of DSP and video tasks.
Based on the Micro Signal Architecture (MSA) that Analog Devices
jointly developed with Intel® Corporation, Blackfin processors combine a
32-bit RISC instruction set, dual 16-bit multiply accumulate (MAC)
digital signal processing functionality, and 8-bit video processing
What are Blackfin Processors?
1-2 Getting Started With Blackfin Processors
performance that had previously been the exclusive domain of very long
instruction word (VLIW) media processors.
Blackfin processors include advanced memory management that supports
memory-protected and non memory-protected embedded operating sys-
tems such as µCLinux, ThreadX® (Express Logic), INTEGRITY® and
velOSity™ (Green Hills Software), Nucleus® (Accelerated Technology),
Fusion™ (Unicoi Systems), and RTXC Quadros™ (Quadros Systems),
to name a few.
The Blackfin processor’s unique combination of processing attributes
eliminates the need for separate digital signal and control processors,
which reduces bill of material costs and greatly simplifies hardware and
software design tasks. Blackfin processors present high performance,
homogeneous software targets, which allows flexible resource allocation
between demanding real-time DSP tasks and non real-time control tasks.
Combining RISC MCU and DSP Functionality
Blackfin processors provide both microcontroller (MCU) and DSP func-
tionality in a unified architecture, allowing flexible partitioning between
the needs of control and signal processing. If the application demands, the
Blackfin processor can act as 100% MCU (with code density on par with
industry standards), 100% DSP (with clock rates at the leading edge of
DSP technology), or a combination of the two.
The Blackfin family of processors from Analog Devices, Inc. integrates a
32-bit RISC instruction set, an 8-bit video instruction set with dual 16-bit
MAC units. The processor’s variable length instruction set extends up to
64-bit opcodes used in DSP inner loops (one SIMD and two
load/store/cycle), but is optimized so that 16-bit opcodes represent the
most frequently used instructions. As a result, compiled code density fig-
ures are competitive with industry-leading MCUs, yet its interlocked
pipeline and algebraic instruction syntax facilitate development in both
C/C++ and assembly.
Getting Started With Blackfin Processors 1-3
Introduction
Figure 1-1 shows a block diagram of a single core ADSP-BF533 Blackfin
16/32-bit processor.
Blackfin processors support both protected and unprotected operating
modes that prevent users from accessing or affecting shared parts of the
system. In addition, the processors provide memory management capabil-
ities that enable users to define separate application development spaces.
This design feature prevents distinct code sections from being overwritten.
At the same time, the Blackfin architecture allows asynchronous interrupts
Figure 1-1. Single Core ADSP-BF533 Blackfin 16/32-Bit Processor
CORE
SYSTEM INTERFACE UNIT
L1 MEMORY
16-BIT
EXTERNAL
BUS
INTERFACE
JTAG
VOLTAGE
REGULATOR
EVENT
CONTROLLER
WATCHDOG
TIMER
MEMORY
DMA
SYSTEM CONTROL BLOCKS
SPORT0
REAL TIME
CLOCK
PLL
SRAM / CACHE
.
SPORT1
PPI/GPIO
UART
IrDA
SPI
TIMERS
(3)
HIGH SPEED I/O
64KB
DATA
80KB
INST
B
PERIPHERAL
BLOCKS
What are Blackfin Processors?
1-4 Getting Started With Blackfin Processors
and synchronous exceptions, as well as programmable interrupt priorities.
Thus, Blackfin processors are well suited as targets for embedded operat-
ing systems.
Approaches to Application Development
Blackfin processors have a peripheral set that supports high speed serial
and parallel data movement. In addition, Blackfin processors include an
advanced power management feature set that allows system architects to
craft designs with low dynamic power profiles.
In today’s design model, MCU and traditional DSP programmers often
partition their code development into two separate groups, interacting
only at the system boundary level where their two functional worlds meet.
This makes some sense, as two separate groups of designers can develop
their own sets of design practices based on application requirements. For
instance, signal processing developers may want to implement techniques
to improve performance. Another group may have opposing design
goals—MCU programmers, for example, may prefer implementing a turn-
key system and letting it perform all tasks without user intervention.
With this in mind, Blackfin processors were designed to support both
DMA and cache memory controllers to move data through a system. Mul-
tiple high speed DMA channels shuttle data between peripherals and
memory systems, allowing the fine tuning controls sought by DSP pro-
grammers without using up valuable core processor cycles. Conversely,
on-chip configurable instruction and data caches allow a hands off
approach to managing code and data in a manner very familiar to MCU
programmers. Often, at the system integration level, a combination of
both approaches is ideal.
Another reason for the historical separation of MCU and DSP develop-
ment groups is that the two processors have two separate sets of design
imperatives. From a technical standpoint, engineers responsible for archi-
tecting a system often hesitate to mix a “control” application with a
“signal processing” application on the same processor. Their most
Getting Started With Blackfin Processors 1-5
Introduction
common fear is that non real-time tasks interfere with hard real-time
tasks. For instance, programmers who handle tasks such as the graphical
user interface (GUI) or the networking stack should not have to worry
about hampering the system’s real-time signal processing activities. Of
course, the definition of real time varies based on the specific application.
In an embedded application, the focus is on the time required to service
an interrupt. For this purpose, assume there is a time frame of less than 10
microseconds between an interrupt and the time that the system context is
saved at the start of the service routine.
With the introduction of the Blackfin processors, a C/C++-centric unified
code base can be realized. This enables developers to leverage enormous
amounts of existing application code developed from previous efforts.
Because Blackfin processors are optimized for both control and signal pro-
cessing operations, compilers can generate code that is both tight (from a
code density standpoint) and efficient (for computationally intensive sig-
nal processing applications). Of course for veteran programmers, targeted
assembly coding is still an option for optimizing critical processing loops.
Operating system (OS) support is also key. Several layers of tasking can be
realized by supporting an operating system or real-time kernel. An inter-
rupt controller that supports multiple priority levels is needed to ensure
that targeted performance is still achievable. Context switching must be
attainable through hardware-based stack and frame pointer support. This
enables developers to create systems that include both worlds—control
and real-time signal processing—on the same device.
In addition, the Blackfin processors’ memory management facility permits
OS support for memory protection. This allows one task, via a paging
mechanism, to block memory or instruction accesses by another task. An
exception is generated whenever unauthorized access is made to a pro-
tected area of memory. The kernel services this exception and takes
appropriate action.
What are Blackfin Processors?
1-6 Getting Started With Blackfin Processors
The high processing speeds achieved by Blackfin processors translate into
several tangible benefits. The first is time to market. There can be consid-
erable savings in reducing or bypassing the code optimization effort when
there is plenty of processing capacity to spare. A second benefit is reduced
software maintenance, which can otherwise dominate a product’s life cycle
cost. Finally, for scalable Blackfin architectures, designers can base a
design around the most capable member of the Blackfin processor family,
and can later “right-size” the processor to the final application’s computa-
tional footprint.
Dual-Core Processors Add Flexibility
Blackfin processors are also available as dual-core devices. The traditional
use of a dual-core processor employs discrete and often different tasks that
run on each of the cores. For example, one core might perform all of the
control-related tasks, such as graphics and overlay functionality, network-
ing, interfacing to bulk storage, and overall flow control. This core is also
where the operating system or kernel most likely resides. Meanwhile, the
second core is dedicated to the application’s high-intensity processing
functions. For example, compressed data packets might be transferred
over a network interface to the first core for preprocessing, and then
passed to the second core for audio and video decoding. Figure 1-2 shows
a block diagram of a typical dual-core processor.
The use of a dual-core processor is preferred for designs built by separate
software development teams. The ability to segment these types of func-
tions allows a parallel design process, eliminating critical path
dependencies in the project. This programming model also aids the testing
and validation phases of the project. For example, a code change on one
core does not necessarily invalidate the testing efforts already completed
on the other core.
Getting Started With Blackfin Processors 1-7
Introduction
The Blackfin Family of Processors
New high performance Blackfin processors are available now, while plans
for additional Blackfin processors are designed to offer feature-packed,
future-ready architectures for media-rich applications.
Blackfin Processors (Currently Available)
The ADSP-BF535 was the first released Blackfin processor, followed in
March 2003 by three pin-compatible devices, the ADSP-BF531,
ADSP-BF532, and ADSP-BF533 Blackfin processors. These three devices
offer a range of memory and speed options, providing maximum scalabil-
ity and design flexibility.
In January of 2005, Analog Devices introduced three Blackfin processors
with embedded connectivity: the ADSP-BF536, ADSP-BF537, and
ADSP-BF534. These three devices are also pin-compatible with each other
Figure 1-2. Block Diagram of the Dual-Core ADSP-BF561 Processor
VO LTAGE
REGULATOR
IRQ CONTROL
/WATCH DOG
TIMER
EXTERNAL PORT
FLASH/SDRAM CONTROL
32
1632
16
BOOT ROM
PAB
EAB
DAB
DAB
PPI0 PPI1
JTAG TEST
EMULATION
GPIO
SPI
UART IRDA
®
SPORT0
TIMERS
SPORT1
IMDMA
CONTROLLER
L1
INSTRUCTION
MEMORY
L1
DATA
MEMORY
MMU
B
L2 SRAM
128 KBYTES
CORE SYSTEM /BUS INTERFACE
L1
INSTRUCTION
MEMORY
L1
DA T A
MEMORY
MMU
B
DMA
CONTROLLER 1
DMA
CONTROLLER 2
IRQ CONTROL
/WATCHDOG
TIMER
DEB
What are Blackfin Processors?
1-8 Getting Started With Blackfin Processors
and include Controller Area Network (CAN), Twin-Wire Interface
(TWI) peripherals, and on some models, a 10/100 Ethernet MAC. Each
of these first generation Blackfin devices (the ADSP-BF535,
ADSP-BF531, ADSP-BF532, ADSP-BF533, ADSP-BF536,
ADSP-BF537, and ADSP-BF534) released by January 2005 is a sin-
gle-core processor.
Analog Devices also developed a dual-core symmetric multiprocessor, the
ADSP-BF561. This new processor uses a dual-core processor instead of a
single-core processor and increases performance without switching proces-
sor architectures. In fact, by running both processor cores at lower
frequencies and lower voltages, power consumption is lowered. The
advantages of this technique are described in “Dual-Core Processors Add
Flexibility” on page 1-6.
Each Blackfin processor provides unique capabilities, while being
pin-compatible with other Blackfin devices. Table 1-1 lists key Blackfin
processor specifications. View the Blackfin processor selection table online
at the Analog Devices Web site at:
http://www.analog.com/blackfin.
Table 1-1. Summary of Blackfin Processor Specifications
Feature ADSP-
BF535
ADSP-
BF531
ADSP-
BF532
ADSP-
BF533
ADSP-
BF561
ADSP-
BF536
ADSP-
BF537
ADSP-
BF534
Max. Clock
Speed (MHz)
350 400 400 750 600 400 600 500
Memory
(Kbytes)
308 52 84 148 328 100 132 132
External
Memory (Bus)
32-bit 16-bit 16-bit 16-bit 32-bit 16-bit 16-bit 16-bit
Parallel
Peripheral
Interface
NoYesYesYesYes (2)YesYesYes
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91
  • Page 92 92
  • Page 93 93
  • Page 94 94
  • Page 95 95
  • Page 96 96
  • Page 97 97
  • Page 98 98
  • Page 99 99
  • Page 100 100
  • Page 101 101
  • Page 102 102

Analog Devices Blackfin Getting Started

Type
Getting Started

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI