260 likes | 374 Views
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.
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