+ All Categories
Home > Documents > Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng.

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

Date post: 28-Dec-2015
Category:
Upload: polly-patterson
View: 220 times
Download: 1 times
Share this document with a friend
Popular Tags:
26
Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng
Transcript

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


Recommended