OpenAMP гетерогенный многоядерный стандарт предназначен для Linux

MCA анонсировала Open Asymmetric Multi Processing Framework (OpenAMP) для многоядерной разработки Linux при поддержке Mentor Graphics и Xilinx.

Многоядерная ассоциация (MCA) официально представила свою открытую систему «Open Asymmetric Multi Processing Framework» (OpenAMP) и объявила о создании рабочей группы по разработке стандартизации многоядерной среды разработки.
Рабочая группа расширит и задокументирует спецификацию для Linux, а также будет сотрудничать с сообществом открытого исходного кода OpenAMP.

В рабочую группу OpenAMP входят члены MCA, такие как Express Logic, Mentor Graphics, Micrium, NXP и Xilinx.
Из них Mentor и Xilinx анонсировали конкретные решения на основе Linux.


Архитектура OpenAMP

(щелкните изображение, чтобы увеличить)

Xilinx анонсировала поддержку OpenAMP для своих гибридных SoC FPGA / ARM, включая Xilinx Zynq и новый 64-битный ARMv8 UltraScale + MPSoC .
Говорят, что OpenAMP поддерживает смешанные среды на этих SoC, включая Linux, FreeRTOS и специализированную среду Xilinx, ориентированную на FPGA.
Платформа Xilinx OpenAMP теперь доступна в выпуске PetaLinux 2014.5.
Больше подробностей не было предоставлено.

Mentor Graphics анонсировала «Mentor Embedded Multicore Framework» (MEMF) для Mentor Embedded Linux и других дистрибутивов Mentor.
Смотрите далее ниже для более подробной информации.

Об OpenAMP

OpenAMP поддерживает разработку гетерогенных систем на многоядерных процессорах и системах на кристаллах, а также поддерживает Linux, операционные системы реального времени (RTOS) и голые проекты, включая многоядерные приложения для смешанных ОС.
Однако новая рабочая группа специально нацелена на дистрибутивы Linux.

OpenAMP предназначен для межпроцессного взаимодействия (IPC) и управления жизненным циклом ядра между ядрами и операционными системами.
Он предлагает стандартизированный API-интерфейс, основанный на многоядерном коммуникационном API-интерфейсе MCA (MCAPI), который обеспечивает связь и синхронизацию между гомогенными и гетерогенными многоядерными системами.

Говорят, что OpenAMP оптимизирует разработку в таких задачах, как:

  • Конфигурирование и развертывание нескольких операционных систем и приложений на разных ядрах
  • Эффективная и скоординированная загрузка нескольких ОС между микропроцессорами и микроконтроллерами
  • Связь между изолированными подсистемами на многоядерном процессоре или между гетерогенными процессорами

OpenAMP поддерживает протоколы совместной памяти (virtio и rpmsg), IPC, управление ресурсами и совместное использование, а также управление процессами (remoteproc).
Для простой связи «точка-точка» OpenAMP использует многоядерную и дружественную к нескольким ОС версию платформы virtIO, которая широко применяется в дистрибутивах Linux, для отображения физической памяти непосредственно в приложения пользовательского пространства.

Инфраструктура обмена сообщениями удаленного процессора (rpmsg) также предоставляет механизм IPC для установления канала связи.
Rpmsg добавляет структуру обмена сообщениями поверх virtIO для поддержки нескольких приложений, использующих несколько ОС.

Ментор Графика MEMF

Mentor Graphics объявила о Mentor Embedded Multicore Framework (MEMF), совместимом с OpenAMP дополнении, которое работает с платформой дистрибуции и разработки Mentor Embedded Linux , с операционной системой Nucleus RTOS и с приложениями из чистого металла.
Еще в 2014 году Mentor анонсировала то же решение, но без официального названия или ссылки на появляющийся стандарт OpenAMP.
В то время компания назвала ее гетерогенной многоядерной платформой разработки, которая объединяла приложения Linux, Nucleus и голое железо на одной многоядерной SoC.


MEMF IPC (слева) и основные функции управления жизненным циклом

(нажмите на картинку, чтобы увеличить)

В последнем объявлении MEMF считается первой коммерческой реализацией OpenAMP.
Решение для разработки охватывает конфигурацию устройств, развертывание и оптимизацию системы для устройств с несколькими операционными системами, ориентированные на промышленные, медицинские, автомобильные, телекоммуникационные, сетевые и бытовые электронные приложения.

MEMF может быть легко перенесен в смежные среды, такие как ОС Mentor Automotive Connected на базе Linux, а также Android и Volcano VSTAR AUTOSAR, говорит Mentor.
Он поддерживает аппаратные платформы, включая Xilinx Zynq, Xilinx UltraScale + MPSoC, NXP i.MX6Quad ​​и SoloX , Altera Cyclone V (в настоящее время принадлежит Intel) и OMAP5 от TI.

MEMF с открытым исходным кодом добавляет несколько функций, которые могут выполняться непосредственно или с гипервизором, в том числе:

  • Поддержка инфраструктуры удаленного процессора (remoteproc)
  • Масштабируемые реализации virtIO, rpmsg и MCAPI в разных ОС для обеспечения эффективного IPC для отдельных подсистем устройств
  • Графические средства отладки и анализа производительности, которые обеспечивают общесистемную синхронизированную перспективу для операционных систем и функций.

Дальнейшая информация

Более подробную информацию об OpenAMP можно найти на сайте OpenAMP Ассоциации Multicore и в объявлении рабочей группы OpenAMP .
Более подробную информацию о MEMF Mentor можно найти на странице Mentor Multicore Framework , а также в объявлении MEMF и в блоге .
Более подробную информацию о поддержке Xilinx можно найти в объявлении Xilinx OpenAMP .