130 likes | 274 Views
This course, taught by Instructor G. Rudolph in Summer 2006, explores the essential phases of the embedded design lifecycle. Emphasis is placed on product specification, partitioning of hardware and software, and integration for optimal performance. Participants learn about critical selection criteria for microprocessors, including implementation, performance, OS support, and tool adequacy. The course highlights the importance of robust hardware/software design, effective testing, and strategies for maintenance and upgrades to create reliable, bug-free systems efficiently.
E N D
Seven Phases • Product Specification • Partition Design into Hardware/Software • Iteratively refine Partitioning of Hardware/Software components • Independent hardware and software design Usually in parallel • Hardware and software integration • Product Testing & Release • Maintenance & Upgrades Instructor: G. Rudolph, Summer 2006
Focus in this course • Software Design • Software/Hardware integration at the application level • We use the light sensor, but we don’t focus on how to build one Instructor: G. Rudolph, Summer 2006
It’s Alive!!…or IS IT? • Design Correct Hardware the first time through • No dead wires, problems • Design perfect, bug-free software the first time • Throw it all together, and it works! Instructor: G. Rudolph, Summer 2006
Why Not? • Complex behavior only analyzable as it occurs • Accurate simulations aren’t worth the effort • Modeling tools continue to improve Instructor: G. Rudolph, Summer 2006
Before we get into Software… • Selecting a microprocessor • The JSTamp microntroller vs the RCX • http://graphics.stanford.edu/~kekoa/rcx/#Overview • http://jstamp.systronix.com/Resource/jstamp_datasheet.pdf Instructor: G. Rudolph, Summer 2006
Selecting a Microprocessor • Embedded Systems usually task-specific • Designs can be highly optimized • You want “the right” CPU for the job • Final selection must pass 5 critical tests Instructor: G. Rudolph, Summer 2006
Five Tests • Available in a suitable implementation • Capable of sufficient performance • Supported by a suitable OS • Supported by adequate tools • Non-technical issues Instructor: G. Rudolph, Summer 2006
Suitable Implementation • Cost • Off-the-shelf-parts • highly integrated • High Performance • Specialized gates • Specialized circuits Instructor: G. Rudolph, Summer 2006
“Sufficient” Performance • Difficult to quantify as things get more complex • Has less to do with computational power • More to do with • Hardware architecture vs. • the more demanding tasks Instructor: G. Rudolph, Summer 2006
Suitable RTOS • You might prefer one OS over another • Porting is not an easy task • Hardware issues • Software issues Instructor: G. Rudolph, Summer 2006
Adequate Tools • Critical to success • Specific toolset often depends on the nature of the task • Minimum Needs • Good cross-compiler • Good debugging support • Often have • Host-based tools, IDEs • Specialized tools such as an ICE Instructor: G. Rudolph, Summer 2006
Other Issues • Prior commitment to a processor family • Prior restrictions on languages • Prior experience of team members • Time-to-market factors Instructor: G. Rudolph, Summer 2006