Jump to content

RPMsg

RPMsg (обмен сообщениями удаленного процессора) — это протокол , обеспечивающий межпроцессорную связь внутри многоядерных процессоров.

Современные SoC обычно используют гетерогенные процессоры в конфигурациях асимметричной многопроцессорной обработки (AMP), на каждом из которых может работать отдельный экземпляр операционной системы . Обычно SoC имеют центральный многоядерный процессор под управлением ОС высокого уровня , например Linux , в конфигурации симметричной многопроцессорности (SMP), а также дополнительные удаленные процессоры, на которых работают различные варианты операционной системы реального времени . Эти удаленные процессоры часто используются для разгрузки ресурсоемких задач центрального процессора приложений или для доступа к аппаратным блокам, которые в противном случае были бы недоступны центральному процессору. RPMsg облегчает связь между различными процессорами в системе, предоставляя средства отправки межпроцессорных сообщений туда и обратно.

Реализации

[ редактировать ]

RPMsg присутствует в ядре Linux , [1] [2] было продемонстрировано в Zephyr (операционная система) , [3] [4] FreeRTOS , [5] Каденс XOS, [6] ПотокX , [7] QNX [8] а также доступен как отдельный компонент для систем на базе микроконтроллеров . [9] [10] Большинство реализаций RPMsg разрабатываются с открытым исходным кодом . [2] [9] [10] [11]

RPMsg был разработан для ядра Linux Охадом Бен-Коэном из Wizery. [12] [13] [14] [15] [16] и был объединен с Linux 3.4 20 мая 2012 года. [17] Впервые он был использован Google в Android Ice Cream Sandwich на телефоне Galaxy Nexus , чтобы обеспечить разгрузку ресурсоемких мультимедийных задач на OMAP4 : с ядер ARM Cortex-A9, на которых работает ядро ​​Linux, на ARM Cortex-A9. Ядра M3 под управлением ОС TI-RTOS . С тех пор несколько компаний-производителей полупроводников добавили поддержку RPMsg, в том числе Texas Instruments . [18] СТМикроэлектроника , [19] Ксилинкс , [11] [20] НХП Полупроводники , [10] Ренесас Электроникс [21] и Nordic Semiconductor . [22]

Доступ к пользовательскому пространству

[ редактировать ]

RPMsg предоставляет базовую структуру для отправки кадровых сообщений между разнородными процессорами, но для эффективного предоставления функциональности RPMsg пользовательскому пространству требуется драйвер более высокого уровня. Некоторые из этих драйверов встроены в ядро ​​Linux, другие предоставляются в ответвлении ядра поставщика SoC, а третьи доступны вне дерева.

Имя драйвера Описание Форк ядра Официальный сайт
imx_rpmg_tty Предоставляет конечную точку RPMsg как виртуальный TTY на /dev/ttyRPMSGx. Может использоваться везде, где желательно последовательное соединение. Linux-IMX [1]
rpmsg_char Предоставляет конечную точку RPMsg как символьное устройство на /dev/rpmsgX, позволяя приложениям пользовательского пространства отправлять и получать необработанные пакеты RPMsg с помощью стандартных операций файлового ввода-вывода. магистраль Н/Д
rpmsg_ctrl Предоставляет интерфейс управления по адресу /dev/rpmsg_ctrlX это позволяет приложениям пользовательского пространства создавать конечные точки RPMsg. магистраль Н/Д
rpmsg-net Предоставляет конечную точку RPMsg как виртуальный сетевой интерфейс Ethernet с именем rpmsgX. Может использоваться для соединения двух ЦП на уровне 2 и выше. из дерева [2]
rpmsg-sysfs Предоставляет примитивы управления шиной rpmsg пользовательскому пространству через sysfs. из дерева [3]
  1. ^ «Среда обмена сообщениями удаленного процессора (rpmsg) — документация по ядру Linux» . www.kernel.org . Проверено 25 февраля 2022 г.
  2. ^ Jump up to: а б «Linux/Documentation/staging/rpmsg.rst — Перекрестная ссылка Linux — Bootlin» . lxr.bootlin.com . Проверено 4 сентября 2019 г.
  3. ^ Проект Зефир (20 февраля 2019 г.). «Проект Zephyr демонстрирует инновации в области Интернета вещей во встроенном мире» . Проект Зефир . Проверено 5 марта 2022 г.
  4. ^ Компонент RPMsg , NXP Micro, 16 февраля 2022 г. , получено 5 марта 2022 г.
  5. ^ Компонент RPMsg , NXP Micro, 16 февраля 2022 г. , получено 5 марта 2022 г.
  6. ^ Компонент RPMsg , NXP Micro, 16 февраля 2022 г. , получено 5 марта 2022 г.
  7. ^ Компонент RPMsg , NXP Micro, 16 февраля 2022 г. , получено 5 марта 2022 г.
  8. ^ Компонент RPMsg , NXP Micro, 16 февраля 2022 г. , получено 5 марта 2022 г.
  9. ^ Jump up to: а б «Руководство пользователя RPMsg-Lite: Компонент RPMsg» . nxpmicro.github.io . Проверено 27 сентября 2016 г.
  10. ^ Jump up to: а б с «NXPmicro/rpmsg-lite» . Гитхаб . Проверено 27 сентября 2016 г.
  11. ^ Jump up to: а б «Xilinx Wiki — OpenAMP» . www.wiki.xilinx.com . Проверено 27 сентября 2016 г.
  12. ^ «Представляем общую структуру AMP/IPC [LWN.net]» . lwn.net . Проверено 24 февраля 2022 г.
  13. ^ «LKML: Охад Бен-Коэн: [GIT PULL] добавление rpmsg и RemoteProc в версию 3.3» . lkml.org . Проверено 24 февраля 2022 г.
  14. ^ «LKML: Охад Бен-Коэн: [ОБНОВЛЕНИЕ 0/7] Представляем общую структуру AMP» . lkml.org . Проверено 24 февраля 2022 г.
  15. ^ «Общая платформа AMP/IPC для Linux» . www.phoronix.com . Проверено 24 февраля 2022 г.
  16. ^ «kernel/git/torvalds/linux.git — дерево исходного кода ядра Linux» . git.kernel.org . Проверено 3 июля 2022 г.
  17. ^ «Linux_3.4 — новички в ядре Linux» . kernelnewbies.org . Проверено 3 июля 2022 г.
  18. ^ «3.6.2.3. Краткое руководство по RPMsg — Документация по процессорному SDK Linux для AM65X» . программное обеспечение-dl.ti.com . Проверено 25 февраля 2022 г.
  19. ^ «Обзор платформы Linux RPMsg — stm32mpu» . wiki.st.com . Проверено 25 февраля 2022 г.
  20. ^ Абоэльхассан, Мустафа О.Э.; Бартик, Ондрей; Новак, Марек (ноябрь 2017 г.). «Встраиваемые многоядерные системы для смешанно-критичных приложений с протоколом RPMSG на базе xilinx ZYNQ-7000» . 2017 7-я Международная конференция IEEE по системам управления, вычислениям и инженерии (ICCSCE) . стр. 162–167. doi : 10.1109/ICCSCE.2017.8284398 . ISBN  978-1-5386-3897-2 . S2CID   46746400 .
  21. ^ «Ренесас РПМсг» .
  22. ^ «nRF5340: многопротокольный RPMsg — документация nRF Connect SDK 1.9.99» . http://developer.nordicsemi.com . Проверено 5 марта 2022 г.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 02601e07a2764d7d9465e9511d34917c__1703265420
URL1:https://arc.ask3.ru/arc/aa/02/7c/02601e07a2764d7d9465e9511d34917c.html
Заголовок, (Title) документа по адресу, URL1:
RPMsg - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)