Using Analog Devices’ Blackfin for Embedded Processing
description
Transcript of Using Analog Devices’ Blackfin for Embedded Processing
![Page 1: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/1.jpg)
Using Analog Devices’ Blackfin for Embedded Processing
Diana Franklin and John Seng
![Page 2: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/2.jpg)
Outline
• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions
![Page 3: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/6.jpg)
Architecture
![Page 7: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/9.jpg)
Software
• Visual DSP++• Intuitive interface• C or Assembly Programming
![Page 10: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/13.jpg)
Outline
• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions
![Page 14: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/15.jpg)
Outline
• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions
![Page 16: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/21.jpg)
Outline
• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions
![Page 22: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/24.jpg)
Outline
• Curriculum & Goals• Blackfin Environment• Expansion Board• Lectures• Labs• Conclusions
![Page 25: Using Analog Devices’ Blackfin for Embedded Processing](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062812/568163ef550346895dd56826/html5/thumbnails/26.jpg)
Resources
• www.csc.calpoly.edu/~franklin/316/Bundle.tar