130 likes | 249 Views
Embedded Design Lifecycle. 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
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