Examining development platforms
Development platforms generally refer to the ways we run or execute software. Of course, the final destination to execute software is on the physical product being created, but during development, this hardware system may not be available. If the hardware is not available, software developers turn to one or more development platforms to test what they can and do as much as possible while waiting for the final hardware. There are a number of ways to perform early software development, each with its pros and cons. In this section, we will highlight some alternatives and provide guidance on why or when to use them. Cortex-M developers are most likely to focus on the first set of platforms, which we call software-centric. However, some developers may also use hardware-centric platforms in large teams developing low-level firmware for chips. We will discuss both sets to provide a full context of what is available.