26
Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng

Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng

Embed Size (px)

Citation preview

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 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

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

24-pin cable (16 pins used)BufBlackfin3.3 Volts

Breadboard5 Volts

8 input bits,8 output bits

Voltage levelConversion buffer

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