Embedded Design Lifecycle
7 Phases 2 Specify Product Partition Hardware/Software Done? Hardware Design Software Design Integrate Test & Release Maintain & Upgrade No Yes
3 Focus in this course Software Design Software/Hardware integration at the application level High-level programming language No VHDL, bit manipulation We use the light sensor, but we don’t focus on how to build one
4 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!
5 Why Not? Complex behavior only analyzable as it occurs Accurate simulations aren’t USUALLY worth the effort Modeling tools continue to improve
6 Before we get into Software… Selecting a microprocessor The JSTamp, RCX, NXT erview erview _datasheet.pdf _datasheet.pdf Enter Lego NXT Industrial-strength ARM processor
7 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
8 Five Tests Available in a suitable implementation Capable of sufficient performance Supported by a suitable OS Supported by adequate tools Non-technical issues
9 Suitable Implementation Cost Off-the-shelf-parts highly integrated High Performance Specialized gates Specialized circuits
10 “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
11 Suitable RTOS You might prefer one OS over another Porting is not an easy task Hardware issues Software issues
12 Adequate Tools Critical to success Often task-specific toolset Minimum Needs Good cross-compiler Good debugging support Often have Host-based tools, IDEs Specialized tools such as an ICE
13 Other Issues Prior commitment to a processor family Prior restrictions on languages Prior experience of team members Time-to-market factors