Интегрированные системы становятся все более сложными и выходят за пределы однородных многоядерных систем путем смешивания различных типов ядер, таких как ядра высокой производительности, ядра низкой мощности в реальном времени, или даже FPGA структура. Примеры включают NXP i.MX6 SoloX с ядром ARM Cortex A9 для Linux-приложений и ядро ARM Cortex M4 для задач реального времени, или Xilinx Zynq UltraScale+ MPSoC с ядром Cortex A53 для приложений высшего уровня, ядро Cortex R5 для обработки в режиме реального времени и Ultrascale FPGA логика. Все эти разные ядра под управлением собственных ОС на базе Linux, RTOS или bare metal приложения, все это делает разработку программного обеспечения еще более сложной задачей. В целях снижения сложности, а также для решения некоторых проблем, Multicore Association запустила новую рабочую группу нацеленную на управление, расширение и стандартизацию OpenAMP (Open Asymmetric Multi Processing), открытый исходный код который позволяет операционным системам взаимодействовать в широком диапазоне сложных гомогенных и гетерогенных архитектур, и позволяет производить асимметричную многопроцессорную обработку приложений используя параллелизм, предлагаемый в многоядерной конфигурации.
Ключевые особенности и преимущества OpenAMP перечисленные ассоциацией:
- Настройка, развертывание и управление несколькими ОС через гомогенные и гетерогенные ядра
- Наличие открытого исходного кода Linux, реализация RTOS и реализация bare metal
- Совместимость с ОС Android
- Inter-OS & межпроцессорная связь
- Протокол общей памяти – Virtio/rpmsg
- Жизненный цикл APIs – remoteproc
- Прокси технологии эмулируются процессами Linux
- Совместимость с MCAPI для поддержки высокопроизводительных вариантов использования и ноль-копия
- Стандартизация взаимодействие между ОС Linux и RTOS/bare-metal
В некоторых RTOS уже реализована поддержка FreeRTOS, Mentor, Micrium, NXP, Xilinx, открытый исходный код реализации, а также соответствующую документацию, можно найти на OpenAMP github repository. Вы можете узнать больше информации на странице OpenAMP и в группе рассылки.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.