Example software stacks for common use cases
As with selecting hardware, choosing the right software stack depends greatly on your final use case. The functionality required for a low-power IoT sensor and an always-on facial recognition camera is quite different. In Chapter 1, Selecting the Right Hardware, we described six discrete areas to help select the right Cortex-M processor. In contrast, selecting the right software for a given use case, given the number of overlapping options available, has more room to include personal preference.
In this section, we will take the same use cases from the previous chapter and talk through their software requirements. We will then distill the requirements into reasonable selections for each part of the software stack. Note that there are many ways to build a working software stack for these use cases, and other options may be more optimal given previous experience, cost constraints, personal preference, development time versus quality trade...