Uploaded by T. Thomas Leonid

franklin

advertisement
Using Analog Devices’ Blackfin
for Embedded Processing
Diana Franklin and John Seng
Outline
•
•
•
•
•
•
Curriculum & Goals
Blackfin Environment
Expansion Board
Lectures
Labs
Conclusions
Position in Curriculum
1 yr
Java
1 yr
Dig des/
arch
Embedded
H&P except I/O
and Parallel
Processing
C Programming
Quarter system = 10 week terms
Assembly
Goals
Course
Textbook
Intuitive IDE
Breadboard
access
Curriculum
Integration
Assembly
unlike MIPS
Financial
Parallelism
Useful for
several courses
Inexpensive
hardware
DSP
Outline
• Curriculum & Goals
• Blackfin Environment
– Architecture
– IDE
– EZ-Kit Lite Board
•
•
•
•
Expansion Board
Lectures
Labs
Conclusions
Architecture
Basic Features
•
•
•
•
•
10 pipeline stages
In-order core
Separate data and pointer register files
1 instruction bank, 2 data banks
Two each of Integer ALU, Multiplier,
Accumulator, and Video units
• Two Data Address Generators
Interesting Features
•
•
•
•
•
•
Circular Buffer support
Reverse Bit Addressing
Single-instruction Multiply-Accumulate
Zero-overhead Loop
Static Branch Prediction
Can execute up to 3 instructions at a time,
with limits on instruction types
Software
• Visual DSP++
• Intuitive interface
• C or Assembly Programming
EZ-Kit Lite Board
• Basic board with buttons and LEDs as
primary fun I/O devices
• No interface to a breadboard readily
available
Goals satisfied
• Assembly unlike MIPS, but pipeline still
simple
• Parallelism
• Powerful, usable for several courses
• DSP
Problems
•
•
•
•
No textbook
No interface to breadboard
License server flakey for students
Board has switches that change behavior
– not a secure lab
Outline
•
•
•
•
•
•
Curriculum & Goals
Blackfin Environment
Expansion Board
Lectures
Labs
Conclusions
Expansion Board
8 input bits,
8 output bits
Blackfin
3.3 Volts
Buf 24-pin cable (16 pins used)
Voltage level
Conversion buffer
Breadboard
5 Volts
Outline
•
•
•
•
•
•
Curriculum & Goals
Blackfin Environment
Expansion Board
Lectures
Labs
Conclusions
Decisions, Decisions
• The largest obstacle to class is now
lecture preparation
• Copy / Pasting from Instruction Set
Reference and Hardware Reference
Manual time-consuming, not fun.
• We provide skeleton lectures plus the
Blackfin-relevant information to integrate
into your own lectures.
Textbook
• None available for Blackfin
• Generic textbooks are very high-level
• Ideal would be generic textbook with slides
that add Blackfin-specific details
– Wayne Wolf’s Computers as Components
– Blackfin reference manuals
Normal Lecture Topics
•
•
•
•
•
•
Memory-Mapped I/O / Polling
Interrupts
Timers
Ports / Buses
DMA and Power
Analog / Digital Conversion
Extra Lecture Topics
•
•
•
•
•
•
•
Blackfin ISA
Blackfin Pipeline
Blackfin Calling Convention
Branch Prediction
Parallel Processing
C for Assembly Programs
Code Optimization
Mixed Results
• We did not require (only suggested)
generic textbook
– Students found the lack of textbook difficult
• Additional Lectures added in second
instantiation of course
– Dramatically increased number of C
programmers in lab.
• Tying to H&P textbook topics a positive
reinforcement of earlier knowledge.
Outline
•
•
•
•
•
•
Curriculum & Goals
Blackfin Environment
Expansion Board
Lectures
Labs
Conclusions
Labs
• We include several labs.
• I can provide the sample code given to
students if asked.
• Labs were multi-part to target specific
lecture topics
Experience
• 10-weeks a short time to learn a new
assembly language, new IDE, and so
many new concepts
• Multi-part labs were difficult because
starting a new project was high-overhead
in this system
• Different theories on how much to give
students (sample code vs nothing)
Outline
•
•
•
•
•
•
Curriculum & Goals
Blackfin Environment
Expansion Board
Lectures
Labs
Conclusions
Conclusions
• Embedded processing classes must keep
up with technology.
• Hardware is expensive, so cost sometimes
overrides other factors.
• A repository of different architectures, tied
to a generic textbook, might be useful.
Resources
• www.csc.calpoly.edu/~franklin/316/Bundle.
tar
Download