Much of the benefit of modern embedded systems comes from software-defined feature sets. In nearly all ways, shifting the engineering investment from hardware design to software design improves the financial health of product development.
Our detailed discussions of software to this point have focused on systems software, the software that defines the basic operations and capabilities of the platform. Above the systems software lies application software, and it is at the application layer that device features, services, and interfaces will be realized.
For reasons of developer productivity and overall quality, the vast majority of application development activity targets existing application frameworks. ...