doom13 0 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Приветствую. Разбираюсь как правильно строить систему для 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 0 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба Приветствую. Разбираюсь как правильно строить систему для 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. Читать меньше :) Шесть месяцев на весь проект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 23 марта, 2018 Опубликовано 23 марта, 2018 · Жалоба Мне этот вариант (2) тоже больше нравится, но люди сомневаются. Пока затестил три Bare Metal приложения. На A53_0 и A53_1 крутятся приёмники IPI Interrupts, на R5_0 передатчик, отправляет IPI поочерёдно на оба ядра A53 (использовал либу для IPI из BSP). Вроде бы всё работает и не понятно, почему Xilinx не рекомендуют данный вариант, может есть какие-то подводные камни и пока ещё плохо разобрался в вопросе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 23 марта, 2018 Опубликовано 23 марта, 2018 · Жалоба Мне этот вариант (2) тоже больше нравится, но люди сомневаются... Так а какая именно аргументация этих сомнений ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 23 марта, 2018 Опубликовано 23 марта, 2018 · Жалоба Так а какая именно аргументация этих сомнений ? Типо операционка не Real-Time и мало ли как оно там работает (сторонний, неконтролируемый код) :) И ещё вопрос: можно ли без использования всяких Hypervisor ограничить OS Linux на использование двух A53-х ядер? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toshas 0 24 марта, 2018 Опубликовано 24 марта, 2018 · Жалоба Не рекомендуется, т.к. скорее всего никто не тестировал со 100% покрытием. Вот недавно нашелся глюк на Zynq-7000, а ему уже сто лет в обед. https://www.xilinx.com/support/answers/47484.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 26 марта, 2018 Опубликовано 26 марта, 2018 · Жалоба Не рекомендуется, т.к. скорее всего никто не тестировал со 100% покрытием. Вот недавно нашелся глюк на Zynq-7000, а ему уже сто лет в обед. https://www.xilinx.com/support/answers/47484.html А что Вы можете сказать по поводу, если каждое ядро крутит свой Bare Metal или FreeRTOS? На первый взгляд всё работает, но может быть есть нюансы? Опять же, в доках Xilinx такой режим не рекомендуют использовать. Почему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 27 марта, 2019 Опубликовано 27 марта, 2019 · Жалоба Что-то у меня есть воспоминание, что на A53 нету hardware virtualization, оно появилось только на A72. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 28 марта, 2019 Опубликовано 28 марта, 2019 (изменено) · Жалоба Необходимость использования линукса на цинках для меня связана только с применением периферии, для которой в ядре есть готовые драйвера, а ее прямое использование грозит написанием большого объема кода. На сей момент это HD/SSD на SATA и PCIe, а так же различная внешняя периферия на USB и PCIe. Ну или когда цинк должен стать фактически ПК с полноценной ОС, дисплеем (+ GPU 3D на ультрацинке) и контролерами ввода команд оператором. Все остальные задачи решаются грамотным распределением "обязанностей" между ПЛИС и ЦПУ. До использования 2-го ядра арм-а у меня дело так и не дошло, хотя иногда казалось что уже пора. Изменено 28 марта, 2019 пользователем fguy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 28 марта, 2019 Опубликовано 28 марта, 2019 · Жалоба 1 hour ago, fguy said: До использования 2-го ядра арм-а у меня дело так и не дошло Т.е. ваш Linux крутится на одном ядре Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 28 марта, 2019 Опубликовано 28 марта, 2019 · Жалоба 11 minutes ago, doom13 said: Т.е. ваш Linux крутится на одном ядре до использования линукса дело еще не доходило, а для "прямого" программирования хватает пока и одного ядра - чаще всего это настройка и управление ядрами по командам с RS или Ethernet - все остальное делает плис Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 16 мая, 2019 Опубликовано 16 мая, 2019 · Жалоба Приветствую. Нужен совет по реализации загрузчика для ZynqMP. На данный момент всю систему разруливает FreeRTOS на A53 #0. Далее будут задействованы ещё одно A53 и одно R5 (возможно все) c BareMetal или FreeRTOS. Удалённое обновление ПО по Ethernet (TFTP server) и запись в QSPI, тут вроде всё просто. Ещё думаю над возможностью в целях отладки реализовать загрузку в RAM (PS DDR) и тут вопросы. Может попробовать как-то использовать u-boot, флэху писать он умеет, грузить RAM тож умеет (вопрос только как быть, если загрузили прошивки под разные ядра, как их тут стартануть) или писать свой загрузчик? Но тут тот же вопрос, прошивки разложили, как их все стартануть? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться