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

 
 
7 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Критерии перехода к RTOS
kichkine
сообщение Nov 3 2006, 07:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 3-11-06
Из: Kiev
Пользователь №: 21 933



Каковы по вашему мнению критерии перехода от "голой" программы к использованию RTOS?
Я вижу следующие:
необходимость работы с tcp/ip и т.д.
IPC (может легче что-то свое прикрутить?)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 3 2006, 08:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(kichkine @ Nov 3 2006, 09:29) *
Каковы по вашему мнению критерии перехода от "голой" программы к использованию RTOS?

Всегда :-)
Кроме вырожденных случаев экономии "последнего байта" и "последнего такта".
Причем это тоже не факт, ибо за счет правильно посторенной системы можно и на объеме съэконогмить и
наиболее безболезненно разделить недостающие ресурсы между страждующими.
Вышенаписанное результат личного ~20-летнего движения от "сейчас сам быстренько напишу
маленькую и шустую" к системным вещам. Естественно "движение" сопровождалось возрастающей сложностью программ и мощностью контроллеров.

Цитата
необходимость работы с tcp/ip

:-) Ну а это к RTOS ни при чем. Обычно такая причина выдвигается теми, кто по жизни пишет очень небольшие простенькие программы и при необходимости поднять нечто более сложное готов "поступиться с принципами" и взять хоть RTOS, хоть что угодно, лишь-бы там "было то, что нужно".
Собственно в такой подход и такая мотивация совершенно НОРМАЛЬНА, просто иногда на таком пути
человеков заносит куда-нибудь в "другую канаву" типа - "Как поставить Linux на ARM7" :-(


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
KirillS
сообщение Nov 10 2006, 16:13
Сообщение #3


Участник
*

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



Цитата(kichkine @ Nov 3 2006, 09:29) *
Каковы по вашему мнению критерии перехода от "голой" программы к использованию RTOS?
Я вижу следующие:
необходимость работы с tcp/ip и т.д.
IPC (может легче что-то свое прикрутить?)


Отсутствие свободного времени :-)) Ну некогда мне писать scheduler, file system и networking stack - надо аппликацию разрабатывать, за которую деньги и платят. Хотя вырожденные случаи, когда из дохлого надо выжать всё, тоже встречаются.


--------------------
Some days you eat the bear. Some days the bear eats you.
Go to the top of the page
 
+Quote Post
surge
сообщение Nov 24 2006, 10:49
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 11-09-06
Пользователь №: 20 269



Есть алтернатива и firmware и RTOS - real time kernel.
К привмеру FreeRTOS (GNU,портирована на многие CPU), VDS kernel (для BlakFin, потдерживается analog device).
Такия ядра, как правило, дают возмодность динамически выделять память, и синхронизировать tasks.
Так, например VDS kernel можно сконфигурировать в 4k.

На мной взгляд, значительно упрощает процес разработки SW.
Go to the top of the page
 
+Quote Post
Hardman
сообщение Nov 24 2006, 19:13
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 24-02-06
Пользователь №: 14 643



Применять или не применять RTOS прежде всего зависит от конкретной задачи. Во-первых если необходимо реализовать режим многозадачности, во-вторых если это поможет уменьшить время работы над проектом. А сувать операционку для крутости или полностью переходить на нее это бред. Многие задачи гораздо быстрее и легче решить не заморачиваясь на этом вопросе.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 28 2006, 18:15
Сообщение #6


Шаман
******

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



Цитата(Hardman @ Nov 24 2006, 18:13) *
Применять или не применять RTOS прежде всего зависит от конкретной задачи...

Позволю себе заметить, что зачастую (пусть далеко не всегда, но в последнее время - особенно) привычки программиста и time-to-market играют более важную роль, нежели требования задачи.
А кстати, что есть такое - требования задачи? w00t.gif Кому-то задача ставила требования? wink.gif По-моему и в этом случае всё достаточно субьективно.
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 28 2006, 18:30
Сообщение #7


Гуру
******

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



Критерий простой- если в системе крутиться более трех задач то надо переходить на RTOS. Имеется ввиду логические задачи, которые потом станут отдельными процессами под RTOS. Считать ли обработчик прерываний отдельной задачей- зависит от монструазности обработчика. Иногда да, иногда нет.
Go to the top of the page
 
+Quote Post
st256
сообщение Nov 30 2006, 18:06
Сообщение #8


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627



Цитата(IgorKossak @ Nov 29 2006, 00:15) *
Цитата(Hardman @ Nov 24 2006, 18:13) *

Применять или не применять RTOS прежде всего зависит от конкретной задачи...

Позволю себе заметить, что зачастую (пусть далеко не всегда, но в последнее время - особенно) привычки программиста и time-to-market играют более важную роль, нежели требования задачи.
А кстати, что есть такое - требования задачи? w00t.gif Кому-то задача ставила требования? wink.gif По-моему и в этом случае всё достаточно субьективно.


Ой, извините пожалуйста! А вот у моей задачи такие требования:

сделать БПФ для вектора длинной в 2048 точек, если новый отсчет сигнала появляется каждые 4000 тактов процессора.

БПФ у меня получается минимум за 40000 тактов.

Следовательно, пока у меня наберется полный вектор проходит 2048*4000= 8096000 тактов.

Первое впечатление - я успеваю! Ведь мое БПФ делается всего за 40000 тактов.

Впечатление второе: нет... не успеваю... Ведь пока я БПФ делаю (функция естественно библиотечная, переписать нельзя), кто-то должен принять 10 отсчетов входного сигнала. Значит, библиотечную ф-цию нужно как-то прервать, принять очередной отсчет и запустить снова с прерванного места?

Не считаете ли Вы, что моя задача требует написания планировщика?

Сообщение отредактировал st256 - Nov 30 2006, 18:08
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 30 2006, 18:48
Сообщение #9


Гуру
******

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



Цитата(st256 @ Nov 30 2006, 18:06) *
Не считаете ли Вы, что моя задача требует написания планировщика?

Бога ради, принимайте по прерываниям или DMA. А вот если параллельно к этому надо еще и парсить IP пакеты, считать часы реального времени, писать лог во флешку, ждать нажатия клавиши пользователем и рисовать на экране результаты- вот тут RTOS просто незаменима.
Go to the top of the page
 
+Quote Post
st256
сообщение Nov 30 2006, 19:03
Сообщение #10


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627



Цитата(khach @ Dec 1 2006, 00:48) *
Цитата(st256 @ Nov 30 2006, 18:06) *

Не считаете ли Вы, что моя задача требует написания планировщика?

Бога ради, принимайте по прерываниям или DMA. А вот если параллельно к этому надо еще и парсить IP пакеты, считать часы реального времени, писать лог во флешку, ждать нажатия клавиши пользователем и рисовать на экране результаты- вот тут RTOS просто незаменима.


IP - это уже не real-time. Это раз.

считать часы реального времени? Ну не знаю, вроде тоже не real-time, многие инструментальные оси имеют эту приблуду... хотя сильно настаивать не буду.

писать лог во флешку, ждать нажатия клавиши пользователем и рисовать на экране результаты? Ну знаете, к real-time это имеет уже совсем отдаленное отношение.

Другими словами - Real-Time Operating System (RTOS) для Ваших задач не нужна. Справится и банальный порт LINUX для ARM. Это из собственного опыта говорю. А вот, как без ртосины решить мою задачу, если к примеру, когда я принимал участие в разработке одного DSP мы для уменьшения площади кристалла и облегчения собственной жизни выкинули всякие DMA и т.п. посчитав, что это себя просто не оправдывает?
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Nov 30 2006, 19:09
Сообщение #11


Знающий
****

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



>> Не считаете ли Вы, что моя задача требует написания планировщика
Речь идет не о _написании_ а об _использовании_
Отсчеты у вас что, не по прерываниям принимаются?
Go to the top of the page
 
+Quote Post
st256
сообщение Dec 1 2006, 07:43
Сообщение #12


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627



Цитата(Alex B._ @ Dec 1 2006, 01:09) *
>> Не считаете ли Вы, что моя задача требует написания планировщика
Речь идет не о _написании_ а об _использовании_


Написание планировщика вещь не сложная - пару недель всего вместе с отладкой. Использовать чужую ось (типа microC) - часто означает потерять теже пару недель, но для получения гораздо худшего результата.

Цитата(Alex B._ @ Dec 1 2006, 01:09) *
Отсчеты у вас что, не по прерываниям принимаются?


Если у Вас real-time, то использовать прерывания и приоритеты строго не рекомендуется. Работают, обычно, по опросу - так надежнее.
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Dec 1 2006, 13:36
Сообщение #13


Знающий
****

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



real-time это абстрактное условие реакции на внешние события в заданный интервал времени.
Про прерывания и приоритеты - мне ваш анекдот очень понравилсо.

>> Написание планировщика вещь не сложная - пару
>> недель всего вместе с отладкой
OS это не только шедуллер, но еще и сервисы синхронизации между задачами.
Go to the top of the page
 
+Quote Post
st256
сообщение Dec 1 2006, 15:50
Сообщение #14


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627



Цитата(Alex B._ @ Dec 1 2006, 19:36) *
real-time это абстрактное условие реакции на внешние события в заданный интервал времени.


Не, это вовсе не обстрактное условие выполнения некой задачи в отведенное время. Хотя и с Вашим определением я почти согласен. Остается понять, что такое "реакция".

Цитата(Alex B._ @ Dec 1 2006, 19:36) *
Про прерывания и приоритеты - мне ваш анекдот очень понравилсо.



Если это для Вас - анекдот, то для меня совершенно понятно, что к real-time Вы отношения не имели.

Цитата(Alex B._ @ Dec 1 2006, 19:36) *
>> Написание планировщика вещь не сложная - пару
>> недель всего вместе с отладкой
OS это не только шедуллер, но еще и сервисы синхронизации между задачами.


Добавьте еще две недели на флаги, мьютексы, семафоры и API-функции.
Go to the top of the page
 
+Quote Post
KirillS
сообщение Dec 1 2006, 16:42
Сообщение #15


Участник
*

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



Цитата(st256 @ Dec 1 2006, 14:50) *
Цитата(Alex B._ @ Dec 1 2006, 19:36) *

real-time это абстрактное условие реакции на внешние события в заданный интервал времени.


Не, это вовсе не обстрактное условие выполнения некой задачи в отведенное время. Хотя и с Вашим определением я почти согласен. Остается понять, что такое "реакция".

Цитата(Alex B._ @ Dec 1 2006, 19:36) *
Про прерывания и приоритеты - мне ваш анекдот очень понравилсо.



Если это для Вас - анекдот, то для меня совершенно понятно, что к real-time Вы отношения не имели.

Цитата(Alex B._ @ Dec 1 2006, 19:36) *
>> Написание планировщика вещь не сложная - пару
>> недель всего вместе с отладкой
OS это не только шедуллер, но еще и сервисы синхронизации между задачами.


Добавьте еще две недели на флаги, мьютексы, семафоры и API-функции.


Если время выполнения задачи ограничено (имеется в виду астрономическое время) то это Real Time. Например, подсчёт зарплаты в конце месяца :-))

Почти всегда, наряду с hard real time CPU должен выполнять какие-нибудь совершенно не Real Time функции. И для этих целей off the shelf OS весьма хороша.


--------------------
Some days you eat the bear. Some days the bear eats you.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 19:20
Рейтинг@Mail.ru


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