5 Software

An embedded system is a tight integration of hardware and software. As a result, the software of an embedded system is often co-developed with the hardware. It is not unusual that in the software development process, a software-based limitation is discovered, and the hardware has to be redesigned to handle the limitation. It is also likely that a hardware “bug” does not get discovered until software is written to exercise hardware features.

 5.1 Tool chain
 5.2 Co-development
 5.3 Low-level software