Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Heterogeneous Computing Concepts
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
doom13
Приветствую.
Разбираюсь как правильно строить систему для Zynq Ultrascale+ относительно части PS (какое ПО должно крутиться на каких ядрах). Предполагалось, что будет использоваться либо Bare Metal, либо RTOS на всех ядрах (A53 и R5). Потестил работу двух FreeRTOS (FreeRTOS + Bare Metal) на двух A53 (или A53 + R5) ядрах.
Смущает то, что все доки Xilinx описывают работу Linux в SMP mode на всех ядрах A53 и RTOS или Bare Metal на ядрах R5 в AMP mode, где OpenAMP и Xilinx Libmetal используются для общения между Linux (A53) и RTOS/Bare Metal (R5). Еще в доке ug1228 нахожу:
Цитата
If the Cortex-A53 processors are operated independently, each running different
system software without a common OS or hypervisor between them, they too would be
considered as having an asymmetrical relationship to one another. More specifically,
they would be said to be running in “unsupervised” AMP mode, indicating that there is
no single software coordinating the operation of the Cortex-A53 processors. Note,
however, that due to the complexities of a supervised AMP configuration on the
Cortex-A53 processors, this is neither a recommended nor a Xilinx-supported
configuration for the APU


Что посоветуете:
1. Пойти по описанному пути - нажить себе проблем? Все драйвера для межпроцессорных коммуникаций вручную?
2. Правильный подход - только Linux на A53 и RTOS/Bare Metal на R5-х? Далее OpenAMP для взаимодеиствия.
3. Как вариант использовать Xen hypervisor если очень хочется совместно с Linux крутить на A53 RTOS/Bare Metal приложения (но тут что-то совсем жесть получается)?
vladimirD
Цитата(doom13 @ Mar 19 2018, 07:47) *
Приветствую.
Разбираюсь как правильно строить систему для Zynq Ultrascale+ относительно части PS (какое ПО должно крутиться на каких ядрах). Предполагалось, что будет использоваться либо Bare Metal, либо RTOS на всех ядрах (A53 и R5). Потестил работу двух FreeRTOS (FreeRTOS + Bare Metal) на двух A53 (или A53 + R5) ядрах.
Смущает то, что все доки Xilinx описывают работу Linux в SMP mode на всех ядрах A53 и RTOS или Bare Metal на ядрах R5 в AMP mode, где OpenAMP и Xilinx Libmetal используются для общения между Linux (A53) и RTOS/Bare Metal (R5). Еще в доке ug1228 нахожу:


Что посоветуете:
1. Пойти по описанному пути - нажить себе проблем? Все драйвера для межпроцессорных коммуникаций вручную?
2. Правильный подход - только Linux на A53 и RTOS/Bare Metal на R5-х? Далее OpenAMP для взаимодеиствия.
3. Как вариант использовать Xen hypervisor если очень хочется совместно с Linux крутить на A53 RTOS/Bare Metal приложения (но тут что-то совсем жесть получается)?


Мы собираемся идти по вариату 2. Читать меньше sm.gif
Шесть месяцев на весь проект.
doom13
Мне этот вариант (2) тоже больше нравится, но люди сомневаются. Пока затестил три Bare Metal приложения. На A53_0 и A53_1 крутятся приёмники IPI Interrupts, на R5_0 передатчик, отправляет IPI поочерёдно на оба ядра A53 (использовал либу для IPI из BSP). Вроде бы всё работает и не понятно, почему Xilinx не рекомендуют данный вариант, может есть какие-то подводные камни и пока ещё плохо разобрался в вопросе?
Kuzmi4
Цитата(doom13 @ Mar 23 2018, 11:13) *
Мне этот вариант (2) тоже больше нравится, но люди сомневаются...

Так а какая именно аргументация этих сомнений ?
doom13
Цитата(Kuzmi4 @ Mar 23 2018, 12:12) *
Так а какая именно аргументация этих сомнений ?

Типо операционка не Real-Time и мало ли как оно там работает (сторонний, неконтролируемый код) sm.gif

И ещё вопрос: можно ли без использования всяких Hypervisor ограничить OS Linux на использование двух A53-х ядер?
toshas
Не рекомендуется, т.к. скорее всего никто не тестировал со 100% покрытием.
Вот недавно нашелся глюк на Zynq-7000, а ему уже сто лет в обед.
https://www.xilinx.com/support/answers/47484.html
doom13
Цитата(toshas @ Mar 24 2018, 09:01) *
Не рекомендуется, т.к. скорее всего никто не тестировал со 100% покрытием.
Вот недавно нашелся глюк на Zynq-7000, а ему уже сто лет в обед.
https://www.xilinx.com/support/answers/47484.html

А что Вы можете сказать по поводу, если каждое ядро крутит свой Bare Metal или FreeRTOS? На первый взгляд всё работает, но может быть есть нюансы?
Опять же, в доках Xilinx такой режим не рекомендуют использовать. Почему?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.