First steps with Heterogeneous Multicore Processing on the NXP® i.MX 7
The development of embedded systems using Linux is growing every day. The choice for Linux is driven by the demand for products with greater connectivity, richer and more interactive user interfaces.
The use of a highly abstracted embedded operating system like Linux simplifies many tasks but also comes with its own challenges for application developers, e.g. less control over the hardware, and it is typically harder to achieve real-time requirements.
The Asynchronous Heterogeneous Multicore Processing on the NXP® i.MX 7 or the upcoming i.MX 8QuadMax Application Processor is a hardware solution to this problem. It uses different Arm® CPU cores for different tasks. Optimized for performance, the Cortex-A Arm core can run full fledged Linux. The Cortex-M4 core is optimized for low power and low latency and is ideal for real-time tasks or to keep the system connected in low power use cases. Typically, a small RTOS like FreeRTOS is run on the M4 core.
The webinar video demonstrates how to get started with Heterogeneous Multicore Processing (HMP) on the Colibri iMX7 System on Module, based on the NXP i.MX 7 SoC, which features the dual core Cortex-A7 and a Cortex-M4.
- Configuring the Toolchain for the M4
- Compiling and Executing your first FreeRTOS program on the M4
- Setup AutoBoot
- Setup Eclipse IDE
- Access GPIOs form the M4
- Dealing with Peripheral Assignments
- Inter-core Communication between M4 and A7 with RPMSG
Part 2 of the webinar, held on June 28, 2017, is available for viewing here. Feel free to view one or both parts of the webinar. We recommend you to view both parts of the webinar for full topic coverage.