Application Development

The AM62Ax processor from Texas Instruments has a heterogeneous, multi-core architecture consisting of 1x quad-core ARM Cortex-A53 cluster and 1x single-core ARM Cortex-R5F MCU.

The big advantage of such a feature-rich application processor, such as the AM62Ax, is that you can run a high-level operating system such as Linux on the quad-core Cortex-A cluster while offloading computationally heavy or critical, real-time tasks to the MCU co-processors. Taking advantage of the various compute clusters can yield far simpler hardware designs when developing complex embedded systems (since you can consolidate a lot of functionality into one chip). There are many ways to structure your application software to leverage these compute clusters and you will want to choose what makes the most sense for your use case.

Tip

If multi-core application development is a new concept, here is a hypothetical example that could help clear up confusion:

You might leverage Linux to connect your embedded system to your cloud infrastructure via a TCP/IP network while offloading time-critical motor-control and sensor data-collection to a MCU co-processor. The MCU core could pass sensor data to Linux on some interval, where it can be buffered and sent to the cloud. By structuring your application in this hypothetical way you can ensure your time-critical task continues to run with the lowest possible latency without regards to the network being available or not, and at the same time take advantage of the rich networking support available in Linux.

There are two primary routes for application development when it comes to the AM62Ax processor:

Applications intended to run within Linux (the Cortex-A53 cluster) can be built using a cross-compilation toolchain generated with the Yocto Linux BSP (or natively from within Linux running on the AM62Ax itself). Checkout the Application Development guide for more information on Linux application development.

Applications intended to run on the R5F MCU co-processors are provided in a separate BSP known as the MCU+ SDK. Checkout the MCU+ SDK Application Development guide for more information on MCU Applications.