Arm platform solutions
Arm does not provide cores in isolation. For the Cortex-M family, our Corstone products provide a subsystem around the CPU. At the high end, Corstone-700 includes both Cortex-A and Cortex-M processors. Developers can use Corstone-700 to run something in low power mode, but wake up an applications processor when needed.
For rich IoT endpoints using Cortex-A processors, we work with partners on Project Cassini, which will provide a cloud-native experience to edge computing.
Perhaps your project needs an app ecosystem, or the ability for the user to run new applications dynamically. An RTOS-based system is typically composed and compiled together. This type of system allows very high-density code, and makes good use of compiler optimizations. This type of system is well suited to Cortex-M-based or Cortex-R-based systems. Firmware can be updated, and Arm Platform Security Architecture (PSA) provides a framework for doing this securely. But if you want user applications, Linux, Android, or another rich operating system is a better choice.
If you are a hardware engineer trying to decide which Cortex family to use, talk to your software engineering colleagues. This is because ecosystems do matter. From a hardware perspective, considerations might include:
- Requirements for interrupt latency
- Whether you need tightly coupled memory
- Whether you need symmetric multiprocessing (SMP) support. All our current Cortex-A cores support SMP. Within the Cortex-R family, only Cortex-R8 and Cortex-R82 support this feature.
- What sort of performance level you need
Benchmarks and their relevance are also a consideration, but are beyond the scope of this guide.