|
|
  |
WinCE vs Linux vs eCos |
|
|
|
Mar 6 2008, 15:58
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
Цитата(AlexandrY @ Mar 6 2008, 11:18)  Постоянно делаю такие дивайсы и скажу вам, что Linux и WinCE здесь рядом не лежали. Если Вы постоянно такие девайсы делаете не на Linux или WinCE то как можно так заявлять? Цитата Нормальных быстрых мультизадачных стеков прикладных протоколов ни под CAN ни под EtherCAT на халяву вы не найдете ни для Linux ни для WinCE. Пример: http://developer.berlios.de/projects/socketcan/ - финансируется фольксвагеном, скоро будет включен в ядро. В общем, ищущий всегда найдет  Цитата Разработку интерфейса пользователя ни WinCE ни Linux никак не облегчают по сравнению с разработкой для того же uCOS. Ага, т.е. наличие графической оболочки с хорошо знакомым интерфейсом никак не облегчает? Впрочем, в данном случае это неважно. Цитата В вашем приложении совсем ни к чему драйвера, у вас фиксированное железо. Не совсем понял фразу. Если Вы сетуете на дополнительную абстракцию в виде драйвера (которая, кстати, не всегда вносит оверхед), то она окупается с лихвой в будущем, даже для несложных устройств. Пара режимов энергосбережения + несколько состояний железяки + несколько таких железяк + код, размазанный по всему проекту приведет к увлекательному тестированию, ага  Цитата Так зачем выбирать операционку требующую драйвера, а потом мужественно их писать, бороться за их совместимость и получить в результате лишь тормоза? Не стоит обобщать собственный негативный опыт, имхо. И пафоса много  Цитата А как вы будете отлаживать баги? В Линуксе с JTAG практически нечего делать. Конечно нечего, за ненадобностью. Это только плюс. Цитата Для файловой системы вам достаточно FAT16. Так этого добра навалом для любой операционки. Опять 25. Если носитель флеш, то фат никак не подойдет, флеш будет портится быстро. И т.д. и т.п. Цитата Сетевых стеков гораздо более быстрых чем под Linux-ом тоже навалом для простых RTOS. Сетевой стек под линуксом хотя бы отлажен. А то потом придется разбираться, почему с этим свичем работает, с этим не работает, а этот свитч сам перестает работать. И скорость у него вполне приемлема. Даже очень. Цитата Для действительно стоящего железа все драйвера в Линуксе исключительно бинарные, т.е. прикрутить какой-нить произвольный Wi-Fi, Bluetooth, USB дивайс к вашему произвольному Линуксу будет такой же нереальной задачей как прикрутить то же к uCOS. Из действительно стоящего железа бинарные драйвера существуют только у известного производителя видеокарт. Наряду с опенсорсными драйверами, кстати. Все остальные случаи - либо суперновая железка, либо китайский нонейм. Цитата Более сложные сетевые сервисы чем стек TCP/IP вам на Линуксе будет поднять также сложно как и на uCOS-е Т.е. поднять так же сложно как портировать? Цитата А eCOS - тот, что лежит в открытых исходниках вообще недееспособен. Но комментс. Просто не в курсе. Вообще, не покидало ощущение что мы говорим немного о разных железках, Вы максимум о меге128, я - минимум арм7  И еще, Вы какую ось имели ввиду: uC/OS-II или eCOS?
|
|
|
|
|
Mar 6 2008, 17:14
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
Цитата(AlexandrY @ Mar 6 2008, 16:31)  Ну это вам показалось  и не только ему eCOS замечательно собирается из исходников (используем для PPC, SPARC, ARM) сравнивать uCOS и eCOS все равно, что DOS3.0 c ВИСТОЙ - совершенно разные весовые категории --------------- мое мнение по теме - всегда предпочтительней иметь контролируемость кода, то есть доступ к исходникам. потому что разбирать, если что-то не работает в "екзешниках" крайне малоприятная задача (очень давно имел такой опыт с WinCE + ARM) ну и естественно брать те инструменты, которыми умеешь пользоваться (если проект имеет срочность / важность и т.п.) gcc - хороший компилятор, но не для всякой платформы он генерит хорошо оптимизированный код (сравнимый с "фирменым" компилятором) - например, для того же BF, я предпочитаю VDSP ARM-ом давно не занимаюсь, но предполагаю, что IAR может генерить лучший код (когда сравнивал с ADS-ом 1.1, вроде было одинаково gcc vs ADS)
|
|
|
|
|
Mar 6 2008, 19:17
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Что то меня это "замечательно" не убедило. Сколько времени потратили на портирование на первый проц? Вы сами портировали? Платформу сами делаете? Из тех самых открытых исходников? Какой нибудь промышленный протокол используете или что нибудь хитрое над TCP вроде VPN, SNMP3, SOAP, CORBA, VoIP? Цитата(yes @ Mar 6 2008, 21:44)  и не только ему
eCOS замечательно собирается из исходников (используем для PPC, SPARC, ARM)
сравнивать uCOS и eCOS все равно, что DOS3.0 c ВИСТОЙ - совершенно разные весовые категории
|
|
|
|
|
Mar 6 2008, 20:36
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Логично учиться на чужих ошибках. Я профессионально занимаюсь переводом дивайсов с Линукса на малые RTOS-ы. Хуже было бы если бы я был уже подсевшим на Линукс. Тогда объективности было бы ноль. Цитата Если Вы постоянно такие девайсы делаете не на Linux или WinCE то как можно так заявлять? Тут вы дали че-та непонятное. Этож просто невразумительная концепция и даже незаконченная. Цитата Цитата Нормальных быстрых мультизадачных стеков прикладных протоколов ни под CAN ни под EtherCAT на халяву вы не найдете ни для Linux ни для WinCE. Пример: http://developer.berlios.de/projects/socketcan/ - финансируется фольксвагеном, скоро будет включен в ядро. В общем, ищущий всегда найдет Ничего хорошо известного нет в неизвестной и плохо документированной операционке. В первую очередь в eCOS, чуть меньше в Линуксе и WinCE Цитата Цитата Разработку интерфейса пользователя ни WinCE ни Linux никак не облегчают по сравнению с разработкой для того же uCOS. Ага, т.е. наличие графической оболочки с хорошо знакомым интерфейсом никак не облегчает? Впрочем, в данном случае это неважно. Ничего не окупается, чел пишет все сам и для себя ему ни к чему чужие абстракции. Цитата Цитата В вашем приложении совсем ни к чему драйвера, у вас фиксированное железо . Не совсем понял фразу. Если Вы сетуете на дополнительную абстракцию в виде драйвера (которая, кстати, не всегда вносит оверхед), то она окупается с лихвой в будущем, даже для несложных устройств. Пара режимов энергосбережения + несколько состояний железяки + несколько таких железяк + код, размазанный по всему проекту приведет к увлекательному тестированию, ага Мысль была о том, что умный в гору не пойдет! Определение "пафос" здесь выбрано неправильно. Цитата Цитата Так зачем выбирать операционку требующую драйвера, а потом мужественно их писать, бороться за их совместимость и получить в результате лишь тормоза? Не стоит обобщать собственный негативный опыт, имхо. И пафоса много JTAG ускорояет отладку на порядок, это студенты должны знать. Цитата Цитата А как вы будете отлаживать баги? В Линуксе с JTAG практически нечего делать. Конечно нечего, за ненадобностью. Это только плюс. Применить FAT на SD, MMC, CF, USB или IDE карте самый легкий и верный путь. Цитата Цитата Для файловой системы вам достаточно FAT16. Так этого добра навалом для любой операционки. Опять 25. Если носитель флеш, то фат никак не подойдет, флеш будет портится быстро. И т.д. и т.п. Для промышленных применений скорость обычного TCP стека неприемлема. А может вы пробовали открытые исходники EtherCAT? Так это убожество. Отличный способ убить жизнь на доводку. Цитата Цитата Сетевых стеков гораздо более быстрых чем под Linux-ом тоже навалом для простых RTOS. Сетевой стек под линуксом хотя бы отлажен. А то потом придется разбираться, почему с этим свичем работает, с этим не работает, а этот свитч сам перестает работать. И скорость у него вполне приемлема. Даже очень. Для большинства современных SoC драйвера закрыты поскольку закрыта архитектура самих SoC-ов. И уже думаю не будет больше открыта. Цитата Цитата Для действительно стоящего железа все драйвера в Линуксе исключительно бинарные, т.е. прикрутить какой-нить произвольный Wi-Fi, Bluetooth, USB дивайс к вашему произвольному Линуксу будет такой же нереальной задачей как прикрутить то же к uCOS. Из действительно стоящего железа бинарные драйвера существуют только у известного производителя видеокарт. Наряду с опенсорсными драйверами, кстати. Все остальные случаи - либо суперновая железка, либо китайский нонейм. Именно, вы правильно схватили. Портировать под RTOS типа uCOS может быть гораздо проще чем поднять на Линуксе. Цитата Цитата Более сложные сетевые сервисы чем стек TCP/IP вам на Линуксе будет поднять также сложно как и на uCOS-е Т.е. поднять так же сложно как портировать? Мы говорим как быстро и эффективно выполнить задачу любыми средствами как она проглядывается в контексте первого поста. При этом не потерять здоровье. Цитата Вообще, не покидало ощущение что мы говорим немного о разных железках, Вы максимум о меге128, я - минимум арм7
И еще, Вы какую ось имели ввиду: uC/OS-II или eCOS? Кстати, какие бывают порты и платформы под uCOS можете посмотреть еще здесь: http://aly.ogmis.lt/Subjects/RTOS/rtos.htmТакой проект как SmartARM2200 с uCOS заткнет по эффективности любой самопальный Линукс или eCOS проект на той же плате в рамках обсуждаемой задачи.
|
|
|
|
|
Mar 7 2008, 13:34
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
>>> Ничего хорошо известного нет в неизвестной и плохо документированной операционке. В первую очередь в eCOS, чуть меньше в Линуксе и WinCE там же код открытый - все доступно для понимания (впрочем как и в uCOS или scmRTOS) на форумах по линуксу/екосу мне гораздо проще найти солушин, чем в мсдн-е или каких-то виндо-хакерских форумах и если это плохая дока - то хм.... http://ecos.sourceware.org/docs-latest/ref/ecos-ref.htmlсам я порты делал для ARMa SPARСа за 1 день делается минимальная (работа ОС и вывод по уарту) , причем я не программист, а HDL дизайнер по штатному расписанию -------------- это хорошо, что задачи которые Вы решаете можно решить минималистическим кодом, но далеко не все задачи такие (особенно, когда много программистов пишут код для одного продукта) в продуктах используется вся шняга TCP, USB драйвера, всякие крипто-библиотеки, JFFS и т.д.
|
|
|
|
|
Mar 7 2008, 14:17
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 17-12-06
Из: село
Пользователь №: 23 615

|
Я еще поговорил с разработчиками приборов, для которых будет применятся указанная плата и выяснилось, что опционально touchscreen все-таки желателен. И по этому выбираю wince, чтобы потом окошки рисовать быстро было. Понял что драйверы писать не буду. Первую версию скорее всего сделаю с Dimm PC платкой. Потом когда все отлажу сделаю одну плату.
По поводу uC/OS-II - поддерживается она конечно хорошо, но для наших маленьких партий приборов будет слишком дорогая. У них неподходящая нам политика лицензирования.
WinCE наверное самая дешевая операционка для нашего случая. За лицензию всего 3 евро, средства разработки тоже достаточно дешевые.
EtherCAT стек можно за 10000 взять, но пока решил обходится без него.
заказчик на просьбу выбрать любые 2 слова из "быстро, хорошо, дешево" выбрал быстро и хорошо. придется немного больше затратить на железо.
Сообщение отредактировал DimaM - Mar 7 2008, 14:17
|
|
|
|
|
Mar 7 2008, 15:22
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Ага, ясно. Чесно вам скажу, что та дока на которую вы дали ссылку является просто пародией на доку! Для сравнения взгляните на описания ThreadX, uCOS, VxWorks и т.д. Там по каждому пункту, как: TCP стек, WEB сервер, FTP сервер, SSL библиотека, файловая система, крипто библиотеки, графика и т.д. описания размером в целые книги. Мануал на VxWorks около 2000 листов! А здесь умудрились по каждой теме отделаться парой параграфов каждый не более 100 строк. Ну наверно они расчитывают, что вы будете читать исходники. А вы умеете читать плохо комментированные исходники как книгу? Я нет, и даже не собираюсь этому учиться. Потому что есть гораздо более легкие пути. Еще из той доки, что вы привели явствует, что тому же uCOS этот eCOS значительно уступает по объему и качеству прикладных библиотек. За 1 день порт не делается ни на одну операционку. Если, конечно, вы под этим процессом не подразумеваете запуск готового BSP на готовой плате стороннего производителя. Но такую работу я не считаю достойной упоминания. То, что проект большой не значит что он эффективный, скорее наоборот. Список, что вы превели у нас в любом дивайсе присутствует еще с тех пор когда мы не применяли ОС-и. Microchip со смехом все это выкладывает и даже больше (не слабую граф. библиотеку и wireless стеки) на какой-то жалкой наверно с вашей точки зрения FreeRTOS. Собственно благодаря таким неэффективным проектам у меня есть работа, но сам феномен интересен, как могут уживаться неконкурентоспособные решения в условиях вроде бы жесткой конкуренции? Цитата(yes @ Mar 7 2008, 18:04)  >>> Ничего хорошо известного нет в неизвестной и плохо документированной операционке. В первую очередь в eCOS, чуть меньше в Линуксе и WinCE там же код открытый - все доступно для понимания (впрочем как и в uCOS или scmRTOS) на форумах по линуксу/екосу мне гораздо проще найти солушин, чем в мсдн-е или каких-то виндо-хакерских форумах и если это плохая дока - то хм.... http://ecos.sourceware.org/docs-latest/ref/ecos-ref.htmlсам я порты делал для ARMa SPARСа за 1 день делается минимальная (работа ОС и вывод по уарту) , причем я не программист, а HDL дизайнер по штатному расписанию -------------- это хорошо, что задачи которые Вы решаете можно решить минималистическим кодом, но далеко не все задачи такие (особенно, когда много программистов пишут код для одного продукта) в продуктах используется вся шняга TCP, USB драйвера, всякие крипто-библиотеки, JFFS и т.д.
|
|
|
|
|
Mar 7 2008, 15:51
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
Цитата(DimaM @ Mar 7 2008, 17:17)  WinCE наверное самая дешевая операционка для нашего случая. За лицензию всего 3 евро, средства разработки тоже достаточно дешевые. 3 доллара это без графической оболочки, только консоль. С графикой ~$17 примерно.
|
|
|
|
|
Mar 7 2008, 16:57
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
Цитата(AlexandrY @ Mar 7 2008, 19:03)  Это для платы стороннего производителя. А поставить официально CE на плату собственной разработки стоит 1500$ минимум. Откуда дровишки? Из лесу, вестимо  В двух словах вот: http://msembedded.ru/licensing.aspx
|
|
|
|
|
Mar 7 2008, 17:59
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
http://www.msembedded.ru/windowsCE6.0.aspx тыкаем на Приобрести Windows CE 6.0 (справа) получаем http://www.ntshop.ru/shop/subdept.asp?dept=2133Считаем: WinCE Platform Builder 6.0 EMB English ESD OEI DVD 1,094.00 у.е + Windows CE Vertical 6.0 EMB ESD OEI Set Top Box Runtime 10-Pack 172.00 у.е. = 1266 у.е. с 10 рантаймами. CLA, конечно, нужно подписать, но это бесплатно (не считая работу юристов). Цитата(AlexandrY @ Mar 7 2008, 20:27)  Там речь идет о лицензии для производителя устройств. Я же имею в виду условия для производителей оригинальных плат. Чувствуете разницу? Вы удивитесь, но в CE надо и BSP лицензировать. Вот это вам и влетит. Так у производителя устройств на выходе получаются платы, цитата: "собственной разработки". BSP лицензировать не обязательно. Просто такой BSP не будет на сайте майкрософта проходить под категорией "Microsoft Certified" (http://msdn2.microsoft.com/en-us/embedded/aa714506.aspx). AlexandrY, Вы так и не объяснили происхождение числа $1500  Цитата(zltigo @ Mar 7 2008, 20:20)  При этом даже о стоимости собственно компилятора умолчим. В средства разработки компилятор входит. А для CE 6.0 туда же входит студия 2005 проф. И еще кой-чего
Сообщение отредактировал vshemm - Mar 7 2008, 18:01
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|