Перейти к содержанию
    

bigLITTLE (или любой SoC с контроллером и процессором) и чтоб DMA между ними была

Добрый день,

 

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

 

То есть я хочу, чтобы был линукс на процессоре со всеми стандартными компилерами и памятью 2+ гигабайт. И хочу, чтобы был контроллер, который мог бы в реальном времени обслуживать GPIO и всякую стандартную периферию типа SPI, I2C, UART, и имел бы какое-то понятный и простой, желательно DMA интерфейс общения линукса с этим контроллером + необходимые способы синхронизации.

 

Вроде все обычное, но никак не могу нагуглить ничего. Понимаю, что можно использовать Терасиковские DE0, у которых Cyclon SoC и он может выполнить то, что я написал, но хочется все-таки контроллер, а не FPGA.

 

Скажите, пожалуйста, на какой демоборде такое возможно и на какие правильные слова гуглить, чтобы такое найти!

 

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

58 минут назад, iiv сказал:

Вроде все обычное, но никак не могу нагуглить ничего. Понимаю, что можно использовать Терасиковские DE0, у которых Cyclon SoC и он может выполнить то, что я написал, но хочется все-таки контроллер, а не FPGA.

так Cyclone SoC и будет самым подходящим по функционалу - АРМ сам по себе крутится с линуксом, фпга часть сама по себе, прошивка в фпга меняется прямо из линукса на лету. что в нее наверилогаете, то и будет изображать периферийный gpio контроллер в реалтайме. да, и дма конечно

вероятно (не касался) у xilinx есть подобные SoC

из чисто процессоров знаю что у Техаса есть процы с т.н. pru-isss (могу ошибится в название), из младших например am3359, но там надо читать про подходящесть и платность тулзов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ситары тексасовские, там и линукс и мелкие армы M4 и PRU и DSP.

 

если именно готовую демо плату, c zinq возможно проще найти чем с циклонами. ну а если хочется именно контроллер, а не FPGA, то контроллер можно и в FPGA реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, Jury093 и _pv!

Да, про ситары - я как-то мимо прошел, буду смотреть детально.

9 hours ago, Jury093 said:

Cyclone SoC и будет самым подходящим по функционалу

так не удобно же, хочется без плясок поставить линукс и вот как на этом циклоне, слать на /dev/fpga прошивку, но хочется именно, чтобы в прошивке была МК программа, а не комплект софтпроцессора, к которому довольно не тривиально прикручена программа для этого софт-процессора. С Cyclone SoC - работал и сейчас работаю, ИМХО, сложность входа в тему, если не знаешь всех тонкостей FPGA все-таки довольно большая. Просто думал, что за последние несколько лет, когда такие bigLITTLE архитектуры навтыкали в каждый мобильник, это уже должно доступно быть на уровне "ардуинки" с порогом входа школьника.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неправильное представление. На маленьком ядре точно так же выполняется линукс-процесс, вызванный линукс-планировщиком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

55 минут назад, iiv сказал:

так не удобно же, хочется без плясок поставить линукс и вот как на этом циклоне, слать на /dev/fpga прошивку, но хочется именно, чтобы в прошивке была МК программа, а не комплект софтпроцессора, к которому довольно не тривиально прикручена программа для этого софт-процессора. С Cyclone SoC - работал и сейчас работаю, ИМХО, сложность входа в тему, если не знаешь всех тонкостей FPGA все-таки довольно большая. Просто думал, что за последние несколько лет, когда такие bigLITTLE архитектуры навтыкали в каждый мобильник, это уже должно доступно быть на уровне "ардуинки" с порогом входа школьника.

тогда я не очень понимаю ваши хотелки - если я правильно понял, есть классическое желание "хочу линукс и периферийный блок с рантаймом и шустрым обменом между ними"

типовое решение - любой линукс процессор с быстрой внешней шиной и на ней однокристалка с gpio, все признаки решения есть, из минусов - два корпуса, организация обмена по шине, морока с рантаймом в однокристалке

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

SoC решение на фпга - все в одном флаконе, в фпга реализуется практически любой gpio рантайм, обмен и управление через внутренние шины с тем же дма. по прошивке - нет проблем в фпга запихать свой или чужой софтпроцессор и кормить его своей прошивкой, хоть через ту же шину, хоть через spi, хоть с внешнего накопителя.

что по ситарам и старшим в семействе, там много закрытых мест, платный софт (был раньше по крайней мере), спорность в рантайме, еще можно посмотреть на nxp imx, там тоже напихали периферийный процов

и еще по SoC fpga, вроде кто-то тут писал, что 2-х ядерный cyclone можно запускать в раздельном режиме - на одном ядре линукс, второе ядро в стандалоне, может это как раз ваш вариант?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 минуту назад, Jury093 сказал:

в фпга реализуется практически любой gpio рантайм, обмен и управление через внутренние шины с тем же дма

Жуткий суржик получается... Где-то "fpga", где-то "FPGA", где-то "фпга", и т.д... Коллеги, Вы не могли бы аккуратнее с терминологией? Конечно, потребуется чуть больше времени, и как собеседники, вы друг друга и так поймёте, но читать стороннему участнику это...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, Jury093, полностью разделяю Вашу позицию с плиской+линукс и являюсь активным пользователем такой связки (хоть на двух кристаллах), хоть на оном уже лет 10 как. Просто думал, что жизнь на месте не стоит и появилось что-то удобное в разработке. На плиске у меня всяко в разы медленнее разработка получается, хотя конечно DE10 (Cyclone 5 SoC) - очень удобная борда - там и на плиске можно хорошо считаться, и процессор не тормознутый, я несколько проектов уже на Cyclone SoC сделал.

 

1 hour ago, rkit said:

Неправильное представление. На маленьком ядре точно так же выполняется линукс-процесс, вызванный линукс-планировщиком.

Спасибо большое за ответ! Скажите, пожалуйста, а, правильно ли я понимаю, что и слабый и сильный процессор имеет доступ ко всей памяти, но только слабый процессор - к переферии и есть софтверные способы как попросить линукс ядро посадить (или даже скомпилировать) процесс на слабый процессор, а как - на сильный?

4 minutes ago, Herz said:

Жуткий суржик получается...

согласен :) , тоже заметил, и, из-за этого перешел на термин "плиска" - все-таки мы на русскоговорящем форуме :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, iiv said:

Скажите, пожалуйста, а, правильно ли я понимаю, что и слабый и сильный процессор имеет доступ ко всей памяти, но только слабый процессор - к переферии

Всё имеет доступ ко всему.

2 hours ago, iiv said:

есть софтверные способы как попросить линукс ядро посадить (или даже скомпилировать) процесс на слабый процессор, а как - на сильный?

Есть, но на практике в телефонах вряд ли применяется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 minutes ago, rkit said:

Всё имеет доступ ко всему.

скажите, пожалуйста, а как режим реального времени для общения с переферией на слабом процессоре реализуется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 минуты назад, iiv сказал:

скажите, пожалуйста, а как режим реального времени для общения с переферией на слабом процессоре реализуется?

Видимо посредством головы программиста.  :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, rkit said:

Так же как и на сильном.

Я может что-то не понимаю, но вот задачи типа:

1. воткнем на ноги линукс процессора SPI, пустим по нему 20МБит/с трафика с АЦПшки, или не реализуется вообще на обычном линуксе из-за скорости, или на время этой коммуникации ядро линукса блокируется так, что в этот момент на процессоре что-то считать уже не реально.

2. с точностью хотя бы микросекунда включать-выключать GPIO, и делать это хотя бы 50% всего времени,

Много раз наблюдал такое на A10, A13, A20, Arm9, но, каюсь, на последних процессорах не пробовал, хотя предполагаю, что ничего не изменилось - это же задачи для МК (даже 8-ми битных), а не для обычного процессора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/13/2021 at 12:21 AM, iiv said:

вот из каждого утюга все вещают, что сейчас все используют контроллеры с процессорами в одном SoC

да сейас трудно найти такое, чтобы не было процессора+контроллера :)

основной критерий - наличие качественной доки

мы пользуем

https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-6-processors/i-mx-6solox-processors-heterogeneous-processing-with-arm-cortex-a9-and-cortex-m4-cores:i.MX6SX

плата

https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/sabre-board-for-smart-devices-based-on-the-i-mx-6solox-applications-processors:RD-IMX6SX-SABRE

ждем (там с линуксом на большой голове есть вопросы, но нам линукс не критичен)

https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt1170-crossover-mcu-family-first-ghz-mcu-with-arm-cortex-m7-and-cortex-m4-cores:i.MX-RT1170

https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1170-evaluation-kit:MIMXRT1170-EVK

--------------

но если я не ошибаюсь, то для ваших задач ни размеры, ни стоимость платы не важны - берите контроллер отдельным чипом, это сэкономит нервы и время

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стесняюсь влезать, ибо непонятно, что уважаемому iiv нужно от линукса, но, может посмотреть еще в сторону STMicro с их, странным, на первый взгляд, решением stm32mp1 или как там его. Как раз в нем и линукс работает и мелкий контроллер имеется, и вроде как дажес независимой работой.

ЗЫ. Сам-то я настолько давно и плотно перелез на Zynq/ZynqMP, что те же ситары уже особо и без надобности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...