Optimizing Performance
Optimizing software for performance is an important topic for Cortex-M software development. Obtaining ample application performance from a particular Cortex-M device is essential to avoid selecting a processor with a higher cost, larger silicon area, or more power than needed. Optimizing performance can be used to select the correct processor for a given use case and can also be used after selecting a processor to optimize system performance in general.
In Chapter 1, Selecting the Right Hardware, we looked at the wide range of Cortex-M processors and reviewed use cases and hardware characteristics to help determine the right processor for an application. Processor selection, however, is only one variable contributing to building a system with optimal performance. There are two other key factors: compiler settings and algorithm implementation. Measuring performance and making informed changes to these three variables will lead to a solid design with excellent...