Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng.
Post on 28-Dec-2015
220 Views
Preview:
Transcript
Position in Curriculum
1 yrDig des/
arch
1 yrJava
Embedded AssemblyC Programming
H&P except I/O and Parallel Processing
Quarter system = 10 week terms
Goals
Course Curriculum Integration
Financial
Textbook Assembly unlike MIPS
Inexpensive hardware
Intuitive IDE Parallelism Useful for several courses
Breadboard access
DSP
Outline
• Curriculum & Goals• Blackfin Environment
– Architecture– IDE– EZ-Kit Lite Board
• Expansion Board• Lectures• Labs• Conclusions
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
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
Expansion Board
24-pin cable (16 pins used)BufBlackfin3.3 Volts
Breadboard5 Volts
8 input bits,8 output bits
Voltage levelConversion buffer
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.
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)
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.
top related