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

ARM с Linux на борту.

Подробности описывать не могу, нельзя на всеобщее обозрение выносить.

Это автомобильный контроллер, с возможностью автономной работы от встроенного акумулятора. Линух нужен для упрощения реализации, на обычном МК реализовать будет тяжело. Процык нужен не прожорливый, документирован и с хорошо отлаженным BSP.

Из инфы выше понял что самсунг 2410 староват. Буду изучать как с остальными дела обстоят которые назвали.

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


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

Это автомобильный контроллер, с возможностью автономной работы от встроенного акумулятора. Линух нужен для упрощения реализации...

 

Вот это меня всегда интриговало, как люди определяют, что на линуксе будет проще реализовать.

Да еще в автомобиле с совершенно непредсказуемой электромагнитной обстановкой. :biggrin:

 

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


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

Да еще и с Единой Россией во главе. Какой уж тут Линукс. :santa2: Еще бы связь понять.

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


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

Вот это меня всегда интриговало, как люди определяют, что на линуксе будет проще реализовать.

Да еще в автомобиле с совершенно непредсказуемой электромагнитной обстановкой. :biggrin:

Такие люди не хотят (как будто боятся) изучать глубоко CPU, периферию, как с ней работать, ожидают что некие "чудесные драйвера линукс" написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают. В результате получается монстр, внутри у которого что-то творится (что именно - такие кодеры понятия не имеют), оно то работает, то вдруг глючит в совершенно неожиданных местах. Начинаются шаманства с задержками, перемещениями по областям памяти, заменами дров и версий в попытках это заставить хоть как-то работать...

И это всё с огромными ресурсами (производительности, памяти, лишних микросхем и т.п.) потраченными сверх всякой меры на данную простую задачу...

А потом ещё оказывается, что некоторые задачи (простые без наличия линуха), но требующие реалтаймовости (которую линух не может дать) или нестандартной работы с периферией (не заложенной в индусских дровах), никак невозможно реализовать на данном жирном CPU из-за наличия линуха, и приходится схемотехникам добавлять ещё отдельный контроллер для решения этих задач (что сразу порождает необходимость в дополнительном программисте и всякие проблемы типа - протокола взаимодействия, обновления ПО этого контроллера в работающей системе и т.п.)... :biggrin:

В результате - получается поделие с кучей неадекватных ограничений типа: невозможности выключать питание в произвольное время (из-за FS), временем старта системы порядка минуты (когда подобная задача реализованная без линуха стартует менее чем за секунду) и в это время тож нельзя питание отрубать, требованиями жирного CPU + всякие NAND и NOR с параллельными шинами и т.п.

Реальное время разработки такого поделия (с поисками различных плавающих багов из-за чужих дров) в результате значительно превышает время решения "stand alone", которое если бы было реализовано, давно бы уже нормально работало.

Зато можно гордо заявить заказчику "Linux embedded!".... :1111493779:

 

PS: К сожалению очень часто приходится в последнее время сталкиваться с этим в моей практике... :(

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


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

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

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


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

Ребята! Разговор ни о чём. Всё зависит от квалификации и опыта разработчика.

Если вы не не копенгаген в чём-то то это не означает что и остальные тоже.

Для справки - линукс тоже можно при должном умении загрузить за секунду...

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


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

Такие люди не хотят (как будто боятся) изучать глубоко CPU, периферию, как с ней работать, ожидают что некие "чудесные драйвера линукс" написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают.

Гм... Это типа шутка такая? Как будто написание программы - это изучение CPU и периферии. Ну давайте по порядку:

1. FS. Пусть это тривиальная FAT12/16/32. Здесь нужно разобраться не столько с драйвером флеш-памяти (SD, SPI, EMC), сколько с реализацией файловой системы. Она хоть и не очень сложная, но повозиться месяцок придётся.

2. Сеть. Драйвер MAC штука не тривиальная, но по сравнению с документом RFCxxx на несколько сотен страниц - детский лепет. А "дополнительные" протоколы типа PPP и т.п.?

3. USB. Там можно застрять на долго, если нет опыта.

4. Графика на дисплей. Ещё месяцок...

 

Потом всё это дебажить, искать ошибки.

 

Можно взять готовые реализации файловой системы как FatFS, для сети есть куча свободно выложенных стеков таких, как uIP; даже для USB можно найти готовые и бесплатные реализации стеков. Но чем это будет отличаться от драйверов Линукса, которые

написанные хрен знает кем с хрен знает какой кривости руками всё чудесным образом за них сделают.

Т.е. в любом случае Вы рекомендуете писать всё ПО самому с нуля, если нет предыдущих наработок.

 

А что делать человеку, которому нужно сдать проект в некий поставленный срок, и Линукс не припятствует решению задачи? Ведь что делает ТС не оглашено. Может быть это некий медиа-центр для автомобиля?

 

ну вот, пока излагал свои речи, уважаемый demiurg_spb сказал кратко, и по делу!:)

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


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

Если ни разу не ходить по длинному пути то никогда не придешь к люниксу за 300 мСек.

 

 

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


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

Ребята! Разговор ни о чём. Всё зависит от квалификации и опыта разработчика.

Если вы не не копенгаген в чём-то то это не означает что и остальные тоже.

Для справки - линукс тоже можно при должном умении загрузить за секунду...

 

А при еще большем умении и за 6 часов тыц :rolleyes:

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


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

Если ни разу не ходить по длинному пути то никогда не придешь к люниксу за 300 мСек.

А он Вам нужен за 300 мсек? Прелесть линукса вовсе не в загрузке за 1 секунду. Это полноценная ОС, которая имеет право существовать в своём сегменте устройств.

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


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

Гм... Это типа шутка такая? Как будто написание программы - это изучение CPU и периферии. Ну давайте по порядку:

1. FS. Пусть это тривиальная FAT12/16/32. Здесь нужно разобраться не столько с драйвером флеш-памяти (SD, SPI, EMC), сколько с реализацией файловой системы. Она хоть и не очень сложная, но повозиться месяцок придётся.

...

Самый главный вопрос - ЗАЧЕМ???

В ТЗ на устройство не говорится к примеру что нужна FS, а нужно просто хранение данных в энергонезависимой памяти. Либо вообще не нужно никакого хранения, а только ПО запустить.

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

И всё что Вы перечислили - это требования поставленной задачи? Или всё-таки требования линукса?

Зачем мне всё это реализовывать если по ТЗ это не нужно, а нужно только для линукса??

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

Потом оказывается, что кофемолке оказывается нужно минута чтобы загрузиться, а если нетерпеливый пользователь передумает и выключит её не дождавшись, то у неё может эта самая FS слететь.... :biggrin:

 

Т.е. в любом случае Вы рекомендуете писать всё ПО самому с нуля, если нет предыдущих наработок.
Вы, я вижу, предлагаете набрать кучу чужих кривых наработок и месяцами вылавливать в них баги?

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


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

В ТЗ на устройство не говорится к примеру что нужна FS...

 

Ага, чаще всего и не говорится. Только вот упрвляться с сотней имиджей (если у Вас присутствует дисплей), десятком вариантов настроек, таблицами коеффициентов и прочей ерундой без FS - очень себя не любить...

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


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

В ТЗ на устройство не говорится к примеру что нужна FS

Простите, а Вы это ТЗ видели? Автора темы как раз и просили его опубликовать, но он не может в силу коммерческих ограничений.

Вы, я вижу, предлагаете набрать кучу чужих кривых наработок и месяцами вылавливать в них баги?

Ну почему же они кривые? Набирайте некривые, а прямые. А кривые можно и выпрямить.

Вы предлагаете РТОСы, стеки писать с нуля? Я не о Линуксе. Давайете рассмотрим процы класса ARM7, Cortex-Mx.

Как правило рано или поздно сталкиваешься с тем, что нужна многозадачность, сервисы межпроцессного взаимодействия и т.п. Одним словом нужна РТОС. Чтоже делать? Писать с нуля, или взять готовую (scmRTOS, FreeRTOS, ucOS, ... и т.п.)? Я возьму готовую. Да в ней есть баги. Но эти баги годами выуживали оттуда, и выпускали патчи, пресс-релизы, правки, что угодно. Вероятность появления там бага много раз ниже, чем в нашей, с нуля написанной системе. И это я не говорю об основной программе, ради которой железка клепалась.

 

З.Ы. Конечно, у меня были "передовые" идеи написать свою ФС на Си++ именно с нуля. Даже кой-чего сделал. Стек TCP/IP начинал делать на Си++. И все это с поддержкой ООП. Да, очень удобно. Да, современно. Да, многое контролируется и упрощается, чем если писать на Си (холивар не разводим). Но я выдохся. У меня не осталось сил на основную программу, котороую должная была железка делать. А ещё нужен был USB, стек PPP для связи через модем с инетом... В общем я чихнул на всё, и задумался о Линуксе. Профи, у которого за плечами богатый опыт, и куча наработок вправе выббрать иной путь. У меня такого опыта нет. Да и не хочу. Я лучше другие вопросы поковыряю, более интересные мне :rolleyes:

 

Ага, чаще всего и не говорится. Только вот упрвляться с сотней имиджей (если у Вас присутствует дисплей), десятком вариантов настроек, таблицами коеффициентов и прочей ерундой без FS - очень себя не любить...

Плюспясот :rolleyes: :rolleyes: :rolleyes:

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


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

Вы предлагаете РТОСы, стеки писать с нуля? Я не о Линуксе. Давайете рассмотрим процы класса ARM7, Cortex-Mx.

Как правило рано или поздно сталкиваешься с тем, что нужна многозадачность, сервисы межпроцессного взаимодействия и т.п. Одним словом нужна РТОС. Чтоже делать? Писать с нуля, или взять готовую (scmRTOS, FreeRTOS, ucOS, ... и т.п.)? Я возьму готовую.

А где Вы видели что я призываю обходиться вообще без ОС и чужих стеков? Это неизбежно в наше время. Но не нужно на каждую сковородку ставить монстра типа линукса.

Я сам все последние годы много раз использовал ОС и готовые стеки протоколов (USB, TCP/IP) и библиотеки и под ARM7/9 и под Cortex и под DSP.

И почти всегда как брал что-то чужое - находил в них баги и в конце-концов - почти полностью переписывал :)

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

 

А ведь в последнее время на любой чих сразу начинается "ставить линух, файловая система и т.п."

Но для большинства задач, которые озвучиваются тут на форуме, ОС (даже простая) либо вообще не нужна, либо даёт только небольшой бонус, имхо.

 

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

Вот про это не надо заливать... ;)

Ибо сколько я таких исходников повидал.... такое ощущение, что пишут их малограмотные люди (индусы? ;) , причём сразу выкладывают даже не удосужившись ни разу не проверить - настолько глупые ошибки встречаются....

 

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


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

Индусы уже давно пишут приличный код, вы их с китайцами видимо путаете, хотя и те подтягиваются. Сколько математиков у индусов я вообще молчу. Удивительное русское зазнайство. Ну да ладно. Можно пример "индусского" кода из ядра Линукс ? А то языком то бла-бла все горазды. Вашего "неиндусского" кода не прошу, ибо мне и так все ясно

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...