|
как организовать взаимодействие двух ARM-ов под Linux?, прошу совета |
|
|
|
Oct 19 2015, 09:21
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Доброго дня всем! Надеюсь я верно выбрал раздел для вопроса, если нет, прошу простить и переместить. В рамках одного довольно большого устройства планируется использовать 2 процессора: 1. Zynq для сбора данных, ЦОС и пр. Скорее всего под управлением embedded Linux 2. Недорогой ARM типа iMX6Solo для интерфейсов: дисплей, LAN, USB и т.д. Под Linux. Причина такого разделения в том что Zynq вынужден обрабатывать задачи практически реального времени (я понимаю что Linux не для этого, но все же), а второй процессор реализует UI, где много всякой рутины и нет риал тайма. В общем, решили использовать именно 2 процессора. Между процессорами нужно организовать обмен данными: картинки по ~1МБ десять раз в секунду, команды управления (единицы байт) и пр. Не имея опыта в этом вопросе я могу предположить некоторые варианты: 1. Dual port RAM 2. Обычная память, например DDR, из которой внутри ПЛИС Zynq "слеплена" dual port memory 3. непосредственная связь от проца к процу через например UART, с использованием метода "запрос готовности" - ACK - "передача данных" и т.д. 4. То же самое но с использованием FIFO или DMA. Собственно, вопрос, какой из вариантов наиболее жизненный? Как это будет выглядеть с точки зрения Linux? (писать драйвер? использовать готовое?) Спасибо!
|
|
|
|
|
 |
Ответов
|
Oct 20 2015, 14:49
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Цитата(BaN @ Oct 20 2015, 13:31)  В зависимости от того, какой степени должна быть "реальность времени", можно посмотреть в сторону Xenomai. https://www.osadl.org/fileadmin/dam/rtlws/12/Brown.pdfспасибо, изучаю. Цитата(Tarbal @ Oct 20 2015, 14:50)  Я бы начал с соединения по TCP/IP. т.е. с обоих сторон ставить Phy и разъем-трансформатор?
|
|
|
|
|
Oct 20 2015, 18:02
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326

|
DundukНе надо с обоих сторон ставить Phy и разъем-трансформатор  Достаточно только подправить сетевой драйвер в Linux, то есть вместо записи/чтения в MAC сделать обмен через свой специальный интерфейс (на PL). На пользовательском уровне работать как с обычными сокетами - сетевая подсистема сама всё протолкнём.
|
|
|
|
Сообщений в этой теме
Dunduk как организовать взаимодействие двух ARM-ов под Linux? Oct 19 2015, 09:21 ASN Dunduk
Так у Zynq два ARM-ядра, зачем второй проце... Oct 19 2015, 10:32 Dunduk Цитата(ASN @ Oct 19 2015, 13:32) Так у Zy... Oct 19 2015, 10:40  Tarbal Цитата(Dunduk @ Oct 20 2015, 18:49) т.е. ... Oct 20 2015, 14:55   Dunduk Цитата(Tarbal @ Oct 20 2015, 17:55) Вам в... Oct 21 2015, 07:38    aaarrr Цитата(Dunduk @ Oct 21 2015, 10:38) больш... Oct 21 2015, 07:46     Dunduk Цитата(aaarrr @ Oct 21 2015, 10:46) Для в... Oct 21 2015, 08:45    Tarbal Цитата(Dunduk @ Oct 21 2015, 11:38) не мо... Oct 21 2015, 11:10    Tarbal Цитата(Dunduk @ Oct 21 2015, 11:38) нет, ... Oct 21 2015, 12:49 Tarbal Я бы начал с соединения по TCP/IP. Достаточно быст... Oct 20 2015, 11:50 aaarrr Сеть - это естественное решение в данном случае. М... Oct 20 2015, 22:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|