SoCs becoming more complex, and go beyond homogeneous multicore systems by mixing different type of cores such as high performance cores, low power real-time cores, or even FPGA fabric. Examples include NXP i.MX6 SoloX with an ARM Cortex A9 core for Linux apps, and an ARM Cortex M4 core for real-time tasks, or Xilinx Zynq UltraScale+ MPSoC with Cortex A53 core for higher level apps, Cortex R5 cores for real-time processing, and Ultrascale FPGA logic. All these different cores are running their own Linux based OS, real-time operating system or bare metal application, and all this makes software development an even greater difficult tasks. In order to reduce the complexity, and address some of the issues, the Multicore Association has launched a new working group targeting the management, expansion, and standardization of OpenAMP (Open Asymmetric Multi Processing), an open source framework that allows operating systems to interact within a broad range of complex homogeneous and heterogeneous architectures and allows asymmetric multiprocessing applications to leverage parallelism offered by the multicore configuration”.
- Configure, deploy, and manage multiple OS’s across homogeneous and heterogeneous cores
- Availability of open source Linux implementations and proprietary RTOS and bare metal implementations
- Android OS compatibility
- Inter-OS & inter-processor communication
- Shared memory protocol – Virtio/rpmsg
- Lifecycle APIs – remoteproc
- Proxy technologies emulate Linux processes
- Compatibility with MCAPI to support high-performance use cases and zero-copy
- Standardizes OS interaction between Linux and RTOS/bare-metal
Some RTOS support has already been implemented by FreeRTOS, Mentor, Micrium, NXP, Xilinx, and an open source implementation, as well as corresponding documentation, can be found on OpenAMP github repository.You can find out more on OpenAMP page, the mailing list, and the first 2-hour developer meeting that will take place later today (January 27, 2016) at 9:00 pm Pacific Standard Time, and go through OpenAMP governance, the working group goals, current OpenAMP capabilities, and issues, as well as time for an open discussion on architectural proposals.