• Embedded computing can be fun. It can also be difficult thanks to the combination of complex functionality and strict constraints that we must satisfy.
• Trying to hack together a complex embedded system probably won’t work. You need to master a number of skills and understand the design process.
• Your system must meet certain functional requirements, such as features. It may also have to perform tasks to meet deadlines, limit its power consumption, be of a certain size, or meet other nonfunctional requirements.
• A hierarchical design process takes the design through several different levels of abstraction. You may need to do both top-down and bottom-up design.
• We use UML to describe designs at several levels of abstraction.
• This book takes a bottom-up view of embedded system design.