260 likes | 380 Vues
This document outlines the curriculum and goals for teaching embedded processing using Analog Devices' Blackfin architecture. It covers the Blackfin environment, including the IDE and EZ-Kit Lite board, along with insights into the architecture, features, and relevant software tools like Visual DSP++. The curriculum is designed for students with a background in Java and digital design, focusing on practical labs that reinforce lecture topics. Conclusions drawn from the course highlight the need for keeping pace with technology in embedded processing education, addressing resource challenges, and suggesting improvements based on student feedback.
E N D
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 C Programming Assembly Quarter system = 10 week terms
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
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 8 input bits, 8 output bits Blackfin 3.3 Volts Breadboard 5 Volts Buf 24-pin cable (16 pins used) Voltage level Conversion 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