Selecting the Right Software
Arm Cortex-M processors can execute a diverse range of software. The term “software” is so broad in the embedded and Internet of Things (IoT) industries due to the widely varying capabilities of Cortex-M processors. Firmware, middleware, libraries, and components all refer to different parts of the software stack that make up an embedded device. Further complicating matters is a lack of naming consistency, with people often referring to the same software part by different terminology. We try to use the most common software vernacular in this book.
This chapter aims to provide an overview of the different types of software commonly used in microcontroller applications, alongside information about when they should be used. Similar to the previous chapter about understanding which hardware is available in the ecosystem, this chapter presents the same context for software. It is not intended to deeply explain how each software component works...