Jump to content

    
Sign in to follow this  
iiv

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

Recommended Posts

Добрый день,

 

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

 

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

 

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

 

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

 

Спасибо!

Share this post


Link to post
Share on other sites
58 минут назад, iiv сказал:

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

9 hours ago, Jury093 said:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
55 минут назад, iiv сказал:

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
41 минуту назад, Jury093 сказал:

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

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

Share this post


Link to post
Share on other sites

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

 

1 hour ago, rkit said:

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

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

4 minutes ago, Herz said:

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

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

Share this post


Link to post
Share on other sites
1 hour ago, iiv said:

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

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

2 hours ago, iiv said:

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

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

 

Share this post


Link to post
Share on other sites
41 minutes ago, rkit said:

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

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

Share this post


Link to post
Share on other sites
23 минуты назад, iiv сказал:

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

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

Share this post


Link to post
Share on other sites
24 minutes ago, rkit said:

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

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

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

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

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

Share this post


Link to post
Share on other sites
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

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

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this