|
|
  |
ARM с Linux на борту., С низким энергопотреблением. Подскажите. |
|
|
|
May 25 2013, 05:17
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ May 25 2013, 01:14)  Вот это меня всегда интриговало, как люди определяют, что на линуксе будет проще реализовать. Да еще в автомобиле с совершенно непредсказуемой электромагнитной обстановкой.  Такие люди не хотят (как будто боятся) изучать глубоко CPU, периферию, как с ней работать, ожидают что некие "чудесные драйвера линукс" написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают. В результате получается монстр, внутри у которого что-то творится (что именно - такие кодеры понятия не имеют), оно то работает, то вдруг глючит в совершенно неожиданных местах. Начинаются шаманства с задержками, перемещениями по областям памяти, заменами дров и версий в попытках это заставить хоть как-то работать... И это всё с огромными ресурсами (производительности, памяти, лишних микросхем и т.п.) потраченными сверх всякой меры на данную простую задачу... А потом ещё оказывается, что некоторые задачи (простые без наличия линуха), но требующие реалтаймовости (которую линух не может дать) или нестандартной работы с периферией (не заложенной в индусских дровах), никак невозможно реализовать на данном жирном CPU из-за наличия линуха, и приходится схемотехникам добавлять ещё отдельный контроллер для решения этих задач (что сразу порождает необходимость в дополнительном программисте и всякие проблемы типа - протокола взаимодействия, обновления ПО этого контроллера в работающей системе и т.п.)... В результате - получается поделие с кучей неадекватных ограничений типа: невозможности выключать питание в произвольное время (из-за FS), временем старта системы порядка минуты (когда подобная задача реализованная без линуха стартует менее чем за секунду) и в это время тож нельзя питание отрубать, требованиями жирного CPU + всякие NAND и NOR с параллельными шинами и т.п. Реальное время разработки такого поделия (с поисками различных плавающих багов из-за чужих дров) в результате значительно превышает время решения "stand alone", которое если бы было реализовано, давно бы уже нормально работало. Зато можно гордо заявить заказчику "Linux embedded!"....  PS: К сожалению очень часто приходится в последнее время сталкиваться с этим в моей практике...
|
|
|
|
|
May 25 2013, 06:49
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (jcxz @ May 25 2013, 14:17)  Такие люди не хотят (как будто боятся) изучать глубоко CPU, периферию, как с ней работать, ожидают что некие "чудесные драйвера линукс" написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают. Гм... Это типа шутка такая? Как будто написание программы - это изучение CPU и периферии. Ну давайте по порядку: 1. FS. Пусть это тривиальная FAT12/16/32. Здесь нужно разобраться не столько с драйвером флеш-памяти (SD, SPI, EMC), сколько с реализацией файловой системы. Она хоть и не очень сложная, но повозиться месяцок придётся. 2. Сеть. Драйвер MAC штука не тривиальная, но по сравнению с документом RFCxxx на несколько сотен страниц - детский лепет. А "дополнительные" протоколы типа PPP и т.п.? 3. USB. Там можно застрять на долго, если нет опыта. 4. Графика на дисплей. Ещё месяцок... Потом всё это дебажить, искать ошибки. Можно взять готовые реализации файловой системы как FatFS, для сети есть куча свободно выложенных стеков таких, как uIP; даже для USB можно найти готовые и бесплатные реализации стеков. Но чем это будет отличаться от драйверов Линукса, которые QUOTE (jcxz @ May 25 2013, 14:17)  написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают. Т.е. в любом случае Вы рекомендуете писать всё ПО самому с нуля, если нет предыдущих наработок. А что делать человеку, которому нужно сдать проект в некий поставленный срок, и Линукс не припятствует решению задачи? Ведь что делает ТС не оглашено. Может быть это некий медиа-центр для автомобиля? ну вот, пока излагал свои речи, уважаемый demiurg_spb сказал кратко, и по делу!:)
--------------------
Выбор.
|
|
|
|
|
May 25 2013, 07:15
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Цитата(demiurg_spb @ May 25 2013, 10:36)  Ребята! Разговор ни о чём. Всё зависит от квалификации и опыта разработчика. Если вы не не копенгаген в чём-то то это не означает что и остальные тоже. Для справки - линукс тоже можно при должном умении загрузить за секунду... А при еще большем умении и за 6 часов тыц
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
May 25 2013, 09:16
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(haker_fox @ May 25 2013, 12:49)  Гм... Это типа шутка такая? Как будто написание программы - это изучение CPU и периферии. Ну давайте по порядку: 1. FS. Пусть это тривиальная FAT12/16/32. Здесь нужно разобраться не столько с драйвером флеш-памяти (SD, SPI, EMC), сколько с реализацией файловой системы. Она хоть и не очень сложная, но повозиться месяцок придётся. ... Самый главный вопрос - ЗАЧЕМ??? В ТЗ на устройство не говорится к примеру что нужна FS, а нужно просто хранение данных в энергонезависимой памяти. Либо вообще не нужно никакого хранения, а только ПО запустить. Но ставится линукс, и вот - нужно уже и файловую систему поднимать, чтобы он жил. И всё что Вы перечислили - это требования поставленной задачи? Или всё-таки требования линукса? Зачем мне всё это реализовывать если по ТЗ это не нужно, а нужно только для линукса?? И потом - в контроллер управления кофемолкой ставим линукс и пошло поехало - и проц жирный нужен и FS нужна и езернет для отладки и куча всего остального. Потом оказывается, что кофемолке оказывается нужно минута чтобы загрузиться, а если нетерпеливый пользователь передумает и выключит её не дождавшись, то у неё может эта самая FS слететь....  Цитата(haker_fox @ May 25 2013, 12:49)  Т.е. в любом случае Вы рекомендуете писать всё ПО самому с нуля, если нет предыдущих наработок. Вы, я вижу, предлагаете набрать кучу чужих кривых наработок и месяцами вылавливать в них баги?
|
|
|
|
|
May 25 2013, 11:26
|
Местный
  
Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188

|
Цитата(jcxz @ May 25 2013, 12:16)  В ТЗ на устройство не говорится к примеру что нужна FS... Ага, чаще всего и не говорится. Только вот упрвляться с сотней имиджей (если у Вас присутствует дисплей), десятком вариантов настроек, таблицами коеффициентов и прочей ерундой без FS - очень себя не любить...
|
|
|
|
|
May 25 2013, 12:26
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (jcxz @ May 25 2013, 18:16)  В ТЗ на устройство не говорится к примеру что нужна FS Простите, а Вы это ТЗ видели? Автора темы как раз и просили его опубликовать, но он не может в силу коммерческих ограничений. QUOTE (jcxz @ May 25 2013, 18:16)  Вы, я вижу, предлагаете набрать кучу чужих кривых наработок и месяцами вылавливать в них баги? Ну почему же они кривые? Набирайте некривые, а прямые. А кривые можно и выпрямить. Вы предлагаете РТОСы, стеки писать с нуля? Я не о Линуксе. Давайете рассмотрим процы класса ARM7, Cortex-Mx. Как правило рано или поздно сталкиваешься с тем, что нужна многозадачность, сервисы межпроцессного взаимодействия и т.п. Одним словом нужна РТОС. Чтоже делать? Писать с нуля, или взять готовую (scmRTOS, FreeRTOS, ucOS, ... и т.п.)? Я возьму готовую. Да в ней есть баги. Но эти баги годами выуживали оттуда, и выпускали патчи, пресс-релизы, правки, что угодно. Вероятность появления там бага много раз ниже, чем в нашей, с нуля написанной системе. И это я не говорю об основной программе, ради которой железка клепалась. З.Ы. Конечно, у меня были "передовые" идеи написать свою ФС на Си++ именно с нуля. Даже кой-чего сделал. Стек TCP/IP начинал делать на Си++. И все это с поддержкой ООП. Да, очень удобно. Да, современно. Да, многое контролируется и упрощается, чем если писать на Си (холивар не разводим). Но я выдохся. У меня не осталось сил на основную программу, котороую должная была железка делать. А ещё нужен был USB, стек PPP для связи через модем с инетом... В общем я чихнул на всё, и задумался о Линуксе. Профи, у которого за плечами богатый опыт, и куча наработок вправе выббрать иной путь. У меня такого опыта нет. Да и не хочу. Я лучше другие вопросы поковыряю, более интересные мне QUOTE (Axel @ May 25 2013, 20:26)  Ага, чаще всего и не говорится. Только вот упрвляться с сотней имиджей (если у Вас присутствует дисплей), десятком вариантов настроек, таблицами коеффициентов и прочей ерундой без FS - очень себя не любить... Плюспясот
--------------------
Выбор.
|
|
|
|
|
May 25 2013, 13:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(haker_fox @ May 25 2013, 18:26)  Вы предлагаете РТОСы, стеки писать с нуля? Я не о Линуксе. Давайете рассмотрим процы класса ARM7, Cortex-Mx. Как правило рано или поздно сталкиваешься с тем, что нужна многозадачность, сервисы межпроцессного взаимодействия и т.п. Одним словом нужна РТОС. Чтоже делать? Писать с нуля, или взять готовую (scmRTOS, FreeRTOS, ucOS, ... и т.п.)? Я возьму готовую. А где Вы видели что я призываю обходиться вообще без ОС и чужих стеков? Это неизбежно в наше время. Но не нужно на каждую сковородку ставить монстра типа линукса. Я сам все последние годы много раз использовал ОС и готовые стеки протоколов (USB, TCP/IP) и библиотеки и под ARM7/9 и под Cortex и под DSP. И почти всегда как брал что-то чужое - находил в них баги и в конце-концов - почти полностью переписывал  И считаю - раз даже в этих простых исходниках всегда есть баги, то сколько же их в огромном по сравнению с ними линухе??? А ведь в последнее время на любой чих сразу начинается "ставить линух, файловая система и т.п." Но для большинства задач, которые озвучиваются тут на форуме, ОС (даже простая) либо вообще не нужна, либо даёт только небольшой бонус, имхо. Цитата(haker_fox @ May 25 2013, 18:26)  Да в ней есть баги. Но эти баги годами выуживали оттуда, и выпускали патчи, пресс-релизы, правки, что угодно. Вот про это не надо заливать... Ибо сколько я таких исходников повидал.... такое ощущение, что пишут их малограмотные люди (индусы?  , причём сразу выкладывают даже не удосужившись ни разу не проверить - настолько глупые ошибки встречаются....
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|