реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Глупый вопрос - какие плюсы от RTOS (ucos)
Alex B._
сообщение Jan 17 2007, 12:46
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



>> есть ли польза от RTOS для однозадачных приложений
>> и сабых кристаллов
есть, в первую очередь скорость разработки и гибкость кода. Даже с кооперативным планировщиком. Одно НО - нужно некоторое время поработать, потому что понимание API приходит быстро, а вот КАК сервисы применять - только после опыта.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 17 2007, 12:50
Сообщение #17


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Andr2I, если хотите получить более развёрнутую и обоснованную информацию о возможности и пользе применения RTOS во встроенных приложениях, то прочитайте документ (русскоязычный и довольно небольшой) по одной из них.
Конечно можно сформировать своё мнение и на основании мнения других участников форума, но откуда Вам знать, что эти мнения правильные либо, хотя бы, обьективные?
Многие из участников ведь даже и не применяли RTOS ни разу, хотя их высказывания выглядят достаточно убедительно. И в большинстве случаев это в основном базируется на утверждении типа: "Была DOS - было всё компактно и быстро, появилась Windows - стало медленно, огромно, глючно, ...
Стало быть - RTOS в МК имеет ту же тенденцию."
Можете думать точно так же, это Ваше дело. Я не стану приводить контрдоводов, даже из собственного опыта, этого уже было довольно много по всему форуму.
Я лишь хочу напомнить, что у Вас есть шанс сформировать собственное мнение насчёт RTOS во встроенных приложениях. Пробуйте, экспериментируйте, сравнивайте.
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jan 17 2007, 13:41
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Хотелось бы услышать есть ли польза от RTOS для однозадачных приложений и сабых кристаллов. Может польза в приемственности ранее написанных программ?


Тут нет и не может быть однозначного ответа. Это как выбор между С и Асм. Асм быстрее, С переносИм. Разработчик выбирает.
Если хватает фоновой задачи и пары прерываний - ОС не нужна.
Если начинаются тяжкие раздумья над приоритетами задач - ставить ОС и не мучится.
Это вопрос не священных войн, а скорости и удобства разработки.

PS Лично я в большинстве работ не использую ОС как таковую, однако в основе всегда лежит стандартный переключатель задач, софтварные таймеры и драйвера периферии, которые кочуют из проекта в проект. Поэтому код написный пару лет назад читаеться также легко, как и написаный сегодня.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
KirillS
сообщение Jan 17 2007, 17:38
Сообщение #19


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 10-10-06
Пользователь №: 21 161



Цитата(Andr2I @ Jan 15 2007, 19:55) *
Итак есть контроллер LPC2138, к нему LCD экран 128*64, клавиатура на прерывании, пищик, EEPROM, использован канал АЦП и ЦАП, SPI. Система однозадачная. Файловой системы нет.

Понятно, что использование RTOS (в данном случае ucos) несколько затормозит систему. А какая будет от нее польза, кроме возможности перехода на другой кристалл? Есть ли существенное ускорение в написании программы (и за счет чего)?

С уважением, Андрей

Прежде всего, стоит определить, что есть "польза", а что "вред". Ибо кроме категоричных определений " RTOS - безусловный вред всегда и везде", можно определить требования к коду и разбираться, как влияет RTOS на достижение поставленных целей, таких как:
-- минимальное время разработки (time-to-market)
-- максимальное быстродействие кода
-- минимальный размер кода (footprint)
-- и т.д.

Кроме того есть и субьективный фактор:
-- квалификация разработчиков
-- степень их знакомства с CPU

Также могут повлиять требования заказчика: некоторые военные проекты в некоторых странах ПРЕДПИСЫВАЮТ использовать сертифицированную OS.

Так какие же требования ?

Кроме того, ситыация с использованием RTOS не описывается дилеммой : "использовать/не использовать". Есть и промежуточные решения:
-- использовать на начальном этапе проекта (ага, попробуй потом выкинуть OS...)
-- взять Open Source RTOS и модифицировать как душе угодно


--------------------
Some days you eat the bear. Some days the bear eats you.
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jan 18 2007, 02:12
Сообщение #20


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(Andr2I @ Jan 17 2007, 10:31) *
Абсолютно согласен, более того рискну вызвать всенародное освистывание - лучше вообще отказаться от программы и реализовать на "железном" уровне (например, программируемой логике).


Многие так и поступают.

Цитата(Andr2I @ Jan 17 2007, 10:31) *
Тоже самое можно сказать и про все вещи которые Вас окружают (и сделаны не Вами) - компьютер, телевизор, холодильник, автомобиль и т.п. - все это "злобные монстры", готовые всбрыкнуть в самый критический момент. Примеры подобного поведения этих монстров, я думаю, всем знакомы. Но что-то очень мало людей, которые готовы ради надежности бытия отказаться от всего этого благолепия.


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

Цитата(Andr2I @ Jan 17 2007, 10:31) *
Без сомнения. Аналогия переход от DOS к Windows - каждая новая операционка "тормознее" старой. К сожалению (искреннему) другого пути нет.


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

Цитата(haker_fox' date='Jan 17 2007, 06:57 @ Jan 17 2007, 06:57)
2Прохожий: из ваших мыслей у меня сложилось представление, что нужно разрабатывать все самому с нуля, включая железо)

Про "железо" немного не понял. Если речь идет о МК, то нет - разрабатывать его не надо, а вот изучать матчасть строго необходимо, тщательнейшим образом, начиная с программной модели и заканчивая временными параметрами. Ассемблер выбранного вычислителя просто обязательно. Если же подразумевается обвязка МК, то да - ИМХО, тот, кто пишет программу должен делать обвязку.

Цитата(haker_fox' date='Jan 17 2007, 06:57 @ Jan 17 2007, 06:57)
Просто не понятно, а откуда такая уверенность, что ОС - дыра и скопление глюков? Скорее всего, Вы с ней никогда не работали. В конце концов, ОС-обычная программа. Конечно в ней есть баги и ошибки. Но они есть и в любой (ИМХО) программе. Просто не всегда их видно) Также скорей всего доступны исходники и хорошая документация к ОС, как пример выше упомянутая мной scmRTOS. Все это позволяет сделать выводы о надежности применения операционной системы.

Уверенность по поводу ОС проистекает из просмотра кода от УКОС, как ее самой, так и портов к ней. Все решения достаточно тривиальные и громоздкие. Не говоря о явных проколах.
По поводу работы с RTOS. Есть такой раздел медицины - уринотерапия называется. Многим помогает. Но для того, чтобы определиться, подходит это дело твоему организму или нет, вовсе не обязательно пробовать его на вкус. Достаточно со стороны ознакомиться с самой методикой.
Насчет ошибок в программе. А Вы уверены, что они есть в любых программах?

Цитата(Andrew2000' date='Jan 17 2007, 04:59 @ Jan 17 2007, 04:59)
А вот п.1 - так можно договириться до написания своего компилятора.

Компиляторы с ЯВУ, по возможности, просто не использовать. Вот и все. Средства должны быть соразмерны со сложностью задачи. А если взял грех на душу, то проверять нещадно...

Цитата(Andrew2000' date='Jan 17 2007, 04:59 @ Jan 17 2007, 04:59)
А как, простите, LD или FBD связаны с ОС в контроллере? Если Вы не взаимодействуете с сервисами ОС - это не значит, что ОС в контроллере нет. Просто Вы (программист-технолог) про нее не знаете.
Пункты 3 и 4 вполне понятны (не понятно только какое отношение они имеют к ОС).

Я прекрасно осведомлен о наличии ОС в ПЛК. Но в отличие от всяких новомодных RTOS эта штука прошла проверку временем, хотя иногда и с ней случаются сбои. Результаты этих сбоев, к стати, выглядят не очень... Речь, однако, была не об этом.
Технологу-программисту тоже нужны все прелести, якобы предоставляемые RTOS - переносимость, скорость программирования и т. д. Однако, разработчики ПЛК имея внутри достаточно мощный вычислитель, почему-то отказались не только от внешнего ЯВУ, но и от внешней оболочки и предпочли примитивнейшие языки типа Ассемблера, совместимые исключительно внутри линейки ПЛК одного типа. Почему, как Вы думаете?

Цитата(beer_warrior' date='Jan 17 2007, 01:14 @ Jan 17 2007, 01:14)
Рискну задать вопрос:
А стандартную библиотеку С использовать тоже некошерно?
И все эти memcpy()/strcmp() использовать только домашнего приготовления?

Постараюсь ответить. Можно, но только после тщательного изучения внутренностей, чтобы никакого сала и свинины. Обычно там ничего хорошего нет, сплошные задержки в виде замкнутых на себя циклов.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jan 18 2007, 05:17
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Кажется, уже идем по второму кругу
http://electronix.ru/forum/index.php?showtopic=23089
а может и по третьему
http://electronix.ru/forum/index.php?showtopic=13407

Наверное, здесь следует именно к ucos вернуться.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jan 18 2007, 07:31
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Прохожий @ Jan 18 2007, 04:12) *
И еще забыли. С каждой новой ОС требуется все больше ресурсов.
Другой путь есть. А то, что творится в области программирования и ОС, в том числе и встроенных систем, на мой взгляд, напоминает театр абсурда. Лично я в этом стараюсь участия не принимать.

Известная позиция. Посмотреть со стороны и покидать камней, не особо разбираясь в сути.
Французы вот лягушек едят, фу какая гадость? Как же это можно? Я пробовал - на вкус та же курица.
Но зато я хоть могу сейчас аргументировать. Это аналогия.

Цитата(Прохожий @ Jan 18 2007, 04:12) *
Уверенность по поводу ОС проистекает из просмотра кода от УКОС, как ее самой, так и портов к ней. Все решения достаточно тривиальные и громоздкие. Не говоря о явных проколах.

Может просветите нас как о громоздких решениях, так и о явных проколах?
С примерами, чтоб не быть голословным?


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jan 19 2007, 02:25
Сообщение #23


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(Andy Mozzhevilov @ Jan 18 2007, 07:31) *
Известная позиция. Посмотреть со стороны и покидать камней, не особо разбираясь в сути.
Французы вот лягушек едят, фу какая гадость? Как же это можно? Я пробовал - на вкус та же курица.
Но зато я хоть могу сейчас аргументировать. Это аналогия.


По поводу лягушки...Ну, Вы молодец. Я в этом плане более консервативен.
А насчет камней и сути все очень просто. Я ни разу не видел ни одного сотового телефона, который бы не "глючил". Купил эту гадость ребенку, теперь жалею. Ребенок, когда вырастет будет считать, что так и положено, когда девайс вроде бы в общих чертах работает, но слегка "глючит". По моему, такие устройства просто не должны иметь места.

Цитата(Andy Mozzhevilov @ Jan 18 2007, 07:31) *
Может просветите нас как о громоздких решениях, так и о явных проколах?
С примерами, чтоб не быть голословным?

Первое, что бросается в глаза это обилие макросов OS_ENTER_CRITICAL() и ответной части OS_EXIT_CRITICAL(). Похоже нормальной системе прерываний капец, поскольку между этими макросами вставлены достаточно большие куски текста.
Об остальном чуть позже, если можно. Нужно собраться с мыслями, чтобы действительно не быть голословным.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jan 19 2007, 07:25
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Прохожий @ Jan 19 2007, 04:25) *
А насчет камней и сути все очень просто. Я ни разу не видел ни одного сотового телефона, который бы не "глючил". Купил эту гадость ребенку, теперь жалею. Ребенок, когда вырастет будет считать, что так и положено, когда девайс вроде бы в общих чертах работает, но слегка "глючит". По моему, такие устройства просто не должны иметь места.

Телефон является примером достаточно сложного и высокотехнологичного устройства. Объем ПО
в современных телефонах таков, что было бы глупо предполагать, что существует телефон без ошибок
в ПО и просто недоработок в интерфейсе.
Вы можете с этим мириться. можете нет, это ничего не изменит.
Тайм ту маркет, законы рынка. Надо быстро выпустить новую модель, забить место, потом к ней
выходят в течение года-полутора обновления ПО, потом модель перестает поддерживаться.
Но к спору про ОС этот пример не имеет совершенно никакого отношения.
Я бы даже утверждал, что без ОС такие сложные изделия обладали бы еще большим числом глюков.

Цитата
Первое, что бросается в глаза это обилие макросов OS_ENTER_CRITICAL() и ответной части OS_EXIT_CRITICAL(). Похоже нормальной системе прерываний капец, поскольку между этими макросами вставлены достаточно большие куски текста.

А как вы еще обеспечите атомарные операции, которые не поддерживаются непосредстенно ядром
процессора? Потом критические секции там сделаны таким образом, чтобы закрывать минимально
необходимый набор действий. То есть надолго прерывания запрещены не бывают.
Действительно большие критические секции есть в функциях создания и удаления задач.
Но эти действия происходят при инициализации или переконфигурации системы.
В остальных случаех секция закрывает несколько ассемблерных команд.

Цитата
Об остальном чуть позже, если можно. Нужно собраться с мыслями, чтобы действительно не быть голословным.

Да уж соберитесь. smile.gif И побыстрее, пока у меня настроение располагает _аргументированно_ поспорить.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jan 19 2007, 07:45
Сообщение #25


Познающий...
******

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



Цитата(Прохожий @ Jan 19 2007, 07:25) *
Я ни разу не видел ни одного сотового телефона, который бы не "глючил". Купил эту гадость ребенку, теперь жалею. Ребенок, когда вырастет будет считать, что так и положено, когда девайс вроде бы в общих чертах работает, но слегка "глючит".

Телефон это ширпотреб (ИМХО) и по нему нельзя судить о надежности встраиваемых систем. И еще bb-offtopic.gif телефон это не гадость, а средство общения, причем сомнительно, нужен ли этот девайс ребенку.

Цитата(Прохожий @ Jan 18 2007, 07:12) *
Цитата(haker_fox @ Jan 17 2007, 06:57)

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

По поводу работы с RTOS. Есть такой раздел медицины - уринотерапия называется. Многим помогает. Но для того, чтобы определиться, подходит это дело твоему организму или нет, вовсе не обязательно пробовать его на вкус. Достаточно со стороны ознакомиться с самой методикой.
Насчет ошибок в программе. А Вы уверены, что они есть в любых программах?

Если мне не нравится уринотерапия, я ее не буду использовать. Если мне не нравятся оливки, я их не буду есть. Но я не буду навязывать Вам своего мнения, потому что это личное дело каждого, и я буду заведомо не прав. Может быть и Вы не будете говорить этих глупостей про ОС? Либо приведите серьезное доказательство, чтобы мы убедились в вашей правоте? Успехов!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 19 2007, 11:32
Сообщение #26


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Возвращаясь к uCOS:
1. никто не заставляет использовать всю ОС со всеми сервисами. Это к вопросам о футпринте и постепенности освоения;
2. если функциональность предлагаемого реалтайма устраивает и большинство сервисов Вам подходят, то смело берите эту ОС - она Вам необходима;
3. поскольку ОС поставляется в тщательно документированных исходниках, то методика поиска глюков такая же как и в Вашем приложении;
4. поскольку эта ОС обкатана огромным количеством людей, то глюки в ней маловероятны;
5. для более комфортной отладки имеется плагин к IAR отладчику и вьюер;
6. в будущем можно будет легко пересесть на другую платформу.
7. ...
Go to the top of the page
 
+Quote Post
KirillS
сообщение Jan 19 2007, 15:37
Сообщение #27


Участник
*

Группа: Новичок
Сообщений: 44
Регистрация: 10-10-06
Пользователь №: 21 161



Цитата(Прохожий @ Jan 18 2007, 01:12) *
И еще забыли. С каждой новой ОС требуется все больше ресурсов.
Другой путь есть. А то, что творится в области программирования и ОС, в том числе и встроенных систем, на мой взгляд, напоминает театр абсурда. Лично я в этом стараюсь участия не принимать. В принципе - это дело вкуса.


Не всегда. И uCOS (FreeRTOS и т.д.) - хороший тому пример. Не все RTOS делаются гениями из Microsoft и WindRiver.


Цитата(Прохожий @ Jan 18 2007, 01:12) *
Цитата(haker_fox @ Jan 17 2007, 06:57)

2Прохожий: из ваших мыслей у меня сложилось представление, что нужно разрабатывать все самому с нуля, включая железо)

Про "железо" немного не понял. Если речь идет о МК, то нет - разрабатывать его не надо, а вот изучать матчасть строго необходимо, тщательнейшим образом, начиная с программной модели и заканчивая временными параметрами. Ассемблер выбранного вычислителя просто обязательно. Если же подразумевается обвязка МК, то да - ИМХО, тот, кто пишет программу должен делать обвязку.


МК пользоваться нельзя. Его же тоже кто нибудь на VHDLe написал. :-)


Цитата(Прохожий @ Jan 18 2007, 01:12) *
Цитата(beer_warrior @ Jan 17 2007, 01:14)

Рискну задать вопрос:
А стандартную библиотеку С использовать тоже некошерно?
И все эти memcpy()/strcmp() использовать только домашнего приготовления?

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


Аналогичный подход может быть применён и к RTOS. Вы, например, изучили Sources uCOS и пришли к выводу, что там немало багов. (Кстати, не опубликуете ли информацию об этих багах??)
Может есть какая нибудь другая, получше...

Оффтоп: производители кошерной пищи приложили немало усилий для эмуляции ветчины на индюшатине.


--------------------
Some days you eat the bear. Some days the bear eats you.
Go to the top of the page
 
+Quote Post
Chudik
сообщение Jan 29 2007, 08:23
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 31-03-06
Пользователь №: 15 676



Цитата(Прохожий @ Jan 18 2007, 15:25) *
Первое, что бросается в глаза это обилие макросов OS_ENTER_CRITICAL() и ответной части OS_EXIT_CRITICAL(). Похоже нормальной системе прерываний капец, поскольку между этими макросами вставлены достаточно большие куски текста.

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

Народ, у кого-нибудь есть примеры, которые рассматриваются в книжке. А то pdf ку скачал, а там их нет sad.gif

А вообще везде пишут, что попробовав один раз, уходить с RTOS уже не хочется.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 29 2007, 10:55
Сообщение #29


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Chudik @ Jan 29 2007, 07:23) *
...А вообще везде пишут, что попробовав один раз, уходить с RTOS уже не хочется.

Это точно.
Вот только непонятно, Вы к этому стремитесь или Вы этого опасаетесь (типа как пристраститься к курению)? wink.gif
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Jan 29 2007, 14:10
Сообщение #30


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Замечу про µC/OS-II. Эта ОС is suitable for use in safety critical embedded systems such as aviation, medical systems and nuclear installations. Должно уже о чем-то говорить, пожалуй smile.gif
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 07:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01527 секунд с 7
ELECTRONIX ©2004-2016