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

Стоит ли заморачиваться с Линукс?

Нужен совет тех кто имел дело с Linux в какой нибудь  системе на производстве. Скажу сразу что я с Линуксом не дружу, возможно пока.
Cтоит задача разработать контроллер:
-Дисплей 320x240 монохромный, в основном для меню. Как вариант подороже - TFT 800x600.
-RS485 modbus master ( активно опрашиваются до 10 устройств)
-RS485 modbus slave (иногда опрашивается сторонним контроллером)
-eMMC  для  лога 
-USB для флешки (firmware update или лог слить) 
-Сell modem (для отправки  измерений на сервер, удаленные настройки, firmware update)
-WiFi, Bluetooth, 
-Ethernet 
-Кнопки 
-Менюха довольно большая  около 3000 строк в древовидном стиле.
-Удаленный апдейт как для себя так и для подключенных устройств.

Упрощенный вариант такого контроллера с эраном 20x4 до сих пор работает и продается хоть и построил я его лет 6 назад на PICе. Но запросы с тех пор выросли и контроллер надо апгрейдить.

Рассматривается 2 варианта построения нового контроллера:
1) STM32F4 + RTOS (основной вариант)
2) Процессор + Linux (поступившая альтернатива )

Вариант 2  вызывает  у меня недоверие в виду отсутствия знаний и опыта. Я конечно всегда с удовольствием пробую что то новое, но как то не хочется застрять с разработкой совсем на долго.  Вопрос, стоит ли в моем случае заморачиваться с  Linux при отсутствии опыта даже если сроки совсем не жмут и немного чешутся руки?  Какие могут быть преимущества и проблемы? Сложность разработки печатной платы во внимание не берем. Рассматривается также вариант процессора на готовой плате + расширительная плата своей разработки.
Из преимуществ Linux вижу только два:
- можно будет запустить  Python, посадить начинающего программера и пусть он менюшки лепит и другие хотелки заказчиков. 
- если дело дойдет до  TFT дисплея 800x600, то  проще строить полноценный графический user interface.

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 
 

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


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

54 minutes ago, Eugene_VB said:

Из преимуществ Linux вижу только два:

А еще вот это все -

55 minutes ago, Eugene_VB said:

-eMMC  для  лога 
-USB для флешки (firmware update или лог слить) 
-Сell modem (для отправки  измерений на сервер, удаленные настройки, firmware update)
-WiFi, Bluetooth, 
-Ethernet 
-Кнопки 
-Менюха довольно большая  около 3000 строк в древовидном стиле.

реализуется много проще и удобнее.

 

57 minutes ago, Eugene_VB said:

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 

Проблемы как таковой нет, но для реализации потребуется некоторый опыт.

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


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

Спасибо. Начну копать в направлении Линукса.
Буду благодарен за ссылки на толковые доки.

Изменено пользователем Eugene_VB

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


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

По аппаратной части второго варианта: плата микрокомпутера Raspberry Pi4 и дисплей хоть 1280х720. Ну и конечно повозиться придется с новой парадигмой программирования по сравнению с STM.

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


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

modbus у вас RTU или ASCII? Linux от рождения не RT система, с modbus RTU возможны сюрпризы (особенно если предполагается большая нагрузка)

И второй момент - врямя загрузки. У Linux оно побольше будет, чем у RTOS. Из коробки вообще довольно приличное, даже после buildroot всё равно ощутимое.

 

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


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

2 hours ago, Eugene_VB said:

Буду благодарен за ссылки на толковые доки.

Толковые доки зависят от выбора SOC и версии linux.

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


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

Если можно обойтись без Линукса - нужно обойтись без Линукса. (с) моё

Особенно если вы не ас в shell и не гуру в open source - технологиях. Можно утопнуть очень надолго в отладке всяких разных нюансов типа "почему иногда промаргивает дисплей" или "почему не всегда подхватывается USB-флэшка".

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


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

16 minutes ago, xvr said:

modbus у вас RTU или ASCII? Linux от рождения не RT система, с modbus RTU возможны сюрпризы (особенно если предполагается большая нагрузка)

И второй момент - врямя загрузки. У Linux оно побольше будет, чем у RTOS. Из коробки вообще довольно приличное, даже после buildroot всё равно ощутимое.

 

Прочитал десять раз, ничего, относящегося к realtime, не увидел

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


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

В 18.05.2023 в 22:20, gosha-z сказал:

Прочитал десять раз, ничего, относящегося к realtime, не увидел

ну если даже и оно надо, то для debian-а realtime ядро ставится прямо из репозитария

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


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

1 hour ago, gosha-z said:

Прочитал десять раз, ничего, относящегося к realtime, не увидел

modbus RTU использует интервалы в передаваемом потоке в качестве элемента протокола. С не RT системой и без поддержки на нижнем уровне (в ОС или железе) могут быть неожиданные неприятные  сюрпризы с замером этих самых интервалов.

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

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


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

6 hours ago, xvr said:

Это не значит, что ничего не будет работать, это значит,

С чего бы это вдруг?

 

14 hours ago, Eugene_VB said:

Рассматривается 2 варианта построения нового контроллера:
1) STM32F4 + RTOS (основной вариант)

У СТМ периферия имеет аппаратную поддержку Модбас именно в части отработки паузы для RTU и окончания приёма по символу для ASCII.

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


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

On 5/18/2023 at 4:25 PM, Eugene_VB said:

Скажу сразу что я с Линуксом не дружу, возможно пока.

для начала вам надо попробовать а потом решать самому, если опыт нулевой  - 100% вы ничего хорошего не сделаете на любой ОС. Самый близкий путь - тот который знаешь.

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


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

18 часов назад, Eugene_VB сказал:

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 

Думается, что при малом опыте, опасением будет его администрирование и всё, что с этим связано. Многие не лезут в Linux, так как для обслуживания такого устройства, тем более при встраиваемом применении, нужно понимать "культуру" работы с Linux. Простота работы со стандартной периферией оборачивается сложностью сопровождения.

Есть фирма starterkit.ru, у которой на сайте можно ознакомиться с документацией на производимые платы, где Linux используется. Советую почитать как они сопровождают свои процессорные модули и какие проблемы описывают пользователи на форуме.

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


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

On 5/19/2023 at 11:24 AM, uni said:

Многие не лезут в Linux, так как для обслуживания такого устройства, тем более при встраиваемом применении, нужно понимать "культуру" работы с Linux.

просто надо иметь опыт работы с Linux и уметь пользоваться интернетом

https://bootlin.com/blog/building-a-linux-system-for-the-stm32mp1-remote-firmware-updates/

On 5/19/2023 at 11:24 AM, uni said:

Простота работы со стандартной периферией оборачивается сложностью сопровождения.

чтобы иметь актуальную кодовую базу надо сразу смотреть есть ли поддержка процессора в ванильном ядре

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


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

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

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

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

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

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

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

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

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

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