using analog devices’ blackfin for embedded processing

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

Upload: michon

Post on 23-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

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. H&P except I/O and Parallel Processing. 1 yr Dig des/ arch. Embedded. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Using Analog Devices’ Blackfin for Embedded Processing

Using Analog Devices’ Blackfin for Embedded Processing

Diana Franklin and John Seng

Page 2: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions

Page 3: Using Analog Devices’ Blackfin for Embedded Processing

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

Page 4: Using Analog Devices’ Blackfin for Embedded Processing

Goals

Course Curriculum Integration

Financial

Textbook Assembly unlike MIPS

Inexpensive hardware

Intuitive IDE Parallelism Useful for several courses

Breadboard access

DSP

Page 5: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment

– Architecture– IDE– EZ-Kit Lite Board

• Expansion Board• Lectures• Labs• Conclusions

Page 6: Using Analog Devices’ Blackfin for Embedded Processing

Architecture

Page 7: Using Analog Devices’ Blackfin for Embedded Processing

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

Page 8: Using Analog Devices’ Blackfin for Embedded Processing

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

Page 9: Using Analog Devices’ Blackfin for Embedded Processing

Software

• Visual DSP++• Intuitive interface• C or Assembly Programming

Page 10: Using Analog Devices’ Blackfin for Embedded Processing

EZ-Kit Lite Board

• Basic board with buttons and LEDs as primary fun I/O devices

• No interface to a breadboard readily available

Page 11: Using Analog Devices’ Blackfin for Embedded Processing

Goals satisfied

• Assembly unlike MIPS, but pipeline still simple• Parallelism• Powerful, usable for several courses• DSP

Page 12: Using Analog Devices’ Blackfin for Embedded Processing

Problems

• No textbook• No interface to breadboard• License server flakey for students• Board has switches that change behavior – not

a secure lab

Page 13: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions

Page 14: Using Analog Devices’ Blackfin for Embedded Processing

Expansion Board

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

Breadboard5 Volts

8 input bits,8 output bits

Voltage levelConversion buffer

Page 15: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions

Page 16: Using Analog Devices’ Blackfin for Embedded Processing

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.

Page 17: Using Analog Devices’ Blackfin for Embedded Processing

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

Page 18: Using Analog Devices’ Blackfin for Embedded Processing

Normal Lecture Topics

• Memory-Mapped I/O / Polling• Interrupts• Timers• Ports / Buses• DMA and Power• Analog / Digital Conversion

Page 19: Using Analog Devices’ Blackfin for Embedded Processing

Extra Lecture Topics

• Blackfin ISA• Blackfin Pipeline• Blackfin Calling Convention• Branch Prediction• Parallel Processing• C for Assembly Programs• Code Optimization

Page 20: Using Analog Devices’ Blackfin for Embedded Processing

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.

Page 21: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions

Page 22: Using Analog Devices’ Blackfin for Embedded Processing

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

Page 23: Using Analog Devices’ Blackfin for Embedded Processing

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)

Page 24: Using Analog Devices’ Blackfin for Embedded Processing

Outline

• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions

Page 25: Using Analog Devices’ Blackfin for Embedded Processing

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.

Page 26: Using Analog Devices’ Blackfin for Embedded Processing

Resources

• www.csc.calpoly.edu/~franklin/316/Bundle.tar