Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сравнение разных ОС реального времени
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Houston
Привет, инженеры! smile3046.gif

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


---------------------------------прочитав ваши ответы 29.10 в 18.23-----------
Друзья, огромное вам спасибо за ответы! Я думаю насчет ОС реального времени, потому что хочу передавать по RS485 метеоданные на сервер.
Но все же никто не прислал ссылку на сравнительную характеристику ОС, а я совсем запутался.. FreeRTOS или uCOS? Какие еще?
AlexandrY
Цитата(Houston @ Oct 28 2015, 17:41) *
Привет, инженеры! smile3046.gif

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


Эт значит вам нужна будет очень хорошая и надежная файловая система.
Такая есть. Это uC/FS входящая в состав RTOS uCOS.
Добрые люди выложили недавно на известный ресурс довольно свежую ее версию 4.04 с поддержкой NAND (включает NAND transliation layer), SD, RAM, NOR и USB mass storage
dxp
QUOTE (AlexandrY @ Oct 29 2015, 02:10) *
Эт значит вам нужна будет очень хорошая и надежная файловая система.
Такая есть. Это uC/FS входящая в состав RTOS uCOS.
Добрые люди выложили недавно на известный ресурс довольно свежую ее версию 4.04 с поддержкой NAND (включает NAND transliation layer), SD, RAM, NOR и USB mass storage

Фигня какая-то. Сами же сказали, что надо очень хорошу и надёжную, значит надо NTFS или ext4 - хорошие, надёжные журналируемые системы.
AlexandrY
Цитата(dxp @ Oct 29 2015, 07:15) *
Фигня какая-то. Сами же сказали, что надо очень хорошу и надёжную, значит надо NTFS или ext4 - хорошие, надёжные журналируемые системы.


Да, верно.
Забыл добавить, uC/FS - журналируемая и 100% ANSI C, т.е. скомпилируется любым компилятором под любой микроконтроллер не смотря на то, что может идти в поставке для какой-то определенной платформы.
zltigo
QUOTE (AlexandrY @ Oct 29 2015, 08:53) *
Забыл добавить, uC/FS - журналируемая и 100% ANSI C, т.е. скомпилируется любым компилятором под любой микроконтроллер не смотря на то, что может идти в поставке для какой-то определенной платформы.

Ну слава богу и с Вашей помощью с файловой системой для "метеостанции на батарейке" разобрались. Осталось выяснить какого уровня RAID делать и сколько ядер должно быть у контрорллера.
QUOTE (Houston @ Oct 28 2015, 18:41) *
Хочу сделать метеостанцию на батарейке, собирающую данные о давлении, влажности воздуха и т.п..
..Планирую установить туда ОС реального времени..

Вы уж как-то определителсь что делаете. Реалтайм операционка вещь безусловно полезная во множестве случаев, но она очень слабо коррелирует с задачей которую Вы хотите решить.
Что-то "на батарейке" должно львинную долю спать, изредка реагируя на внешние раздражители. То есть никакого реального времени с детерминированными реакциями и приоритетами разнообразных переключаемых задач. Практически антипод. Оно, конечно, можно притянуть и ОСРВ, но зачем, если неизбежно возникающая избыточность кода поведет только к возрастанию энергопотребления.
AlexandrY
Цитата(zltigo @ Oct 29 2015, 10:01) *
Вы уж как-то определителсь что делаете. Реалтайм операционка вещь безусловно полезная во множестве случаев, но она очень слабо коррелирует с задачей которую Вы хотите решить.
Что-то "на батарейке" должно львинную долю спать, изредка реагируя на внешние раздражители. То есть никакого реального времени с детерминированными реакциями и приоритетами разнообразных переключаемых задач. Практически антипод. Оно, конечно, можно притянуть и ОСРВ, но зачем, если неизбежно возникающая избыточность кода поведет только к возрастанию энергопотребления.


Логика слабая.
Все носимые гаджеты снабжены операционкой. Даже часы и пульсометры. А работают все от батареек.
Хорошие RTOS имеют специальный вариант драйверов с управлением питанием в каждом.
zltigo
QUOTE (AlexandrY @ Oct 29 2015, 11:19) *
Логика слабая.
Все носимые гаджеты снабжены операционкой.

Если для обеспечения работы устройства нужна операционка РЕАЛЬНОГО ВРЕМЕНИ, то без вопросов. И необходимость наличия вообще какой-либо "операционной системы", как некоей базы позволяющей упорядочить работу, сомнению не подвергается.
QUOTE
Даже часы и пульсометры. А работают все от батареек.

Если "часами" Вы пытаетесь называть что-то типа Apple Watch, то это ни разу не часы. Да и работа подобных устойств "от батареек" более, чем условная, по сравнению с метеостанцией которая, например, несколько лет без всяких подзарядок должна висеть где-нибудь на мачте, а не сниматься каждый вечер для подключения к зарядному стройству.
Proton
Цитата(AlexandrY @ Oct 29 2015, 02:10) *
Добрые люди выложили недавно на известный ресурс довольно свежую ее версию 4.04 с поддержкой NAND (включает NAND transliation layer), SD, RAM, NOR и USB mass storage

А не подскажете где можно посмотреть эту версию. Видел что-то похожее лежит на pudn, но там без NAND, SD.
AlexandrY
Цитата(zltigo @ Oct 29 2015, 10:34) *
Если для обеспечения работы устройства нужна операционка РЕАЛЬНОГО ВРЕМЕНИ, то без вопросов. И необходимость наличия вообще какой-либо "операционной системы", как некоей базы позволяющей упорядочить работу, сомнению не подвергается.

Если "часами" Вы пытаетесь называть что-то типа Apple Watch, то это ни разу не часы. Да и работа подобных устойств "от батареек" более, чем условная, по сравнению с метеостанцией которая, например, несколько лет без всяких подзарядок должна висеть где-нибудь на мачте, а не сниматься каждый вечер для подключения к зарядному стройству.


Буду удивлен если найдете для STM32 операционную систему и не RTOS. biggrin.gif
В часах Apple Watch число операцонок начинается от 2-3. Большинство реального времени.


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

Цитата(Proton @ Oct 29 2015, 11:16) *
А не подскажете где можно посмотреть эту версию. Видел что-то похожее лежит на pudn, но там без NAND, SD.


Если вы "свой", то должны знать. В разделе OS микриум, самый большой zip
zltigo
QUOTE (AlexandrY @ Oct 29 2015, 12:22) *
Буду удивлен если найдете для STM32 операционную систему и не RTOS. biggrin.gif

Я Вас удивлю еще больше - некоторые способны не только искать и по быстрому склеивать всякую всячину, но и писать. Писать в том числе и сообразные поставленным задачам операционные системы.
Ну или хотя-бы портировать подходящие операционные системы, даже если вдруг их не оказалось "в куче мусора комплекте поставки" микроконтролера. Ну и даже все из себя реалтаймовые системы могут собираться частично или полностью в совершенно кооперативном режиме работы, что уже приципиально ничуть не реалтаймее "вечного цикла с прерываними". Пример - FreeRTOS.
QUOTE
Если вы "свой", то должны знать. В разделе OS микриум, самый большой zip

Я знаю uCOS еще с тех пор, как она была дивным глюкалом. Интернета, в CCCР не было и скачивал я ее исходники и правил до работоспособного состояния принципиально не рабочий порт под 80186 на 2400 бод из штатов. Но учился и научился я по ней очень многому, что позволило в последствиии и переступить через ее ядро, и пойти другими путем.
AlexandrY
Цитата(zltigo @ Oct 29 2015, 11:38) *
... учился и научился я по ней очень многому, что позволило в последствиии и переступить через ее ядро, и пойти другими путем.


Да, мы восхищены вашим трудовым путем! Но какое это отношение имеет к делу?
zltigo
QUOTE (AlexandrY @ Oct 29 2015, 12:45) *
Да, мы восхищены вашим трудовым путем! Но какое это отношение имеет к делу?

Много большее, чем Ваши повествования о журналируемых файловых системах и Apple Watch. А конкретно, то, что операционные системы можно не только использовать их из "имеющихся", но изучать их, учится самому, приспосабливать их, или писать свои.

QUOTE (AlexandrY @ Oct 29 2015, 12:22) *
Метеостанция может быть и походная и на базе смартфона, еще иметь и фонарь интегрированный.

Или стоять на льдине дрейфующей в Ледовитом океане. Для понимания того о чем идет речь, ествественно, нужно выслушать Автора. Но полагаю, что он не собирается ни делать "часы" c фонариком, смартфоном и метеостанцией, ни дрейфующую метеостанцию.
x893
Цитата(AlexandrY @ Oct 28 2015, 23:10) *
RTOS uCOS.
Добрые люди выложили недавно на известный ресурс довольно свежую ее версию 4.04 с поддержкой NAND (включает NAND transliation layer), SD, RAM, NOR и USB mass storage

А где же найти ссылку на это счастье ?
(гугл отказывается)
Lmx2315
Цитата(x893 @ Oct 29 2015, 15:51) *
А где же найти ссылку на это счастье ?
(гугл отказывается)

..выше уже подсказали - в разделе для "своих".
x893
Цитата(Lmx2315 @ Oct 29 2015, 16:32) *
..выше уже подсказали - в разделе для "своих".

Как быстро научится телепатии, что бы угадать нахождение раздела для "своих" ?
Lmx2315
Цитата(x893 @ Oct 29 2015, 16:49) *
Как быстро научится телепатии, что бы угадать нахождение раздела для "своих" ?

../pub/OS/_MICRIUM_/
з.ы.
если строка выше вам не помогла, значит вы не входите в число "своих".
Значит вам сюда:
http://electronix.ru/forum/index.php?showforum=89
des00
Цитата(x893 @ Oct 29 2015, 20:49) *
Как быстро научится телепатии, что бы угадать нахождение раздела для "своих" ?

как минимум прочитать правила форума, согласие с которыми вы давали при регистрации. Модератор.
Houston
Друзья, огромное вам спасибо за ответы! Я думаю насчет ОС реального времени, потому что хочу передавать по RS485 метеоданные на сервер.
Но все же никто не прислал ссылку на сравнительную характеристику ОС, а я совсем запутался.. FreeRTOS или uCOS, uRTOS? Какие еще? rolleyes.gif
Lmx2315
..по лицензии, FreeRTOS запрещено сравнивать с другими - так что не судьба.
zltigo
QUOTE (Houston @ Oct 29 2015, 17:22) *
Я думаю насчет ОС реального времени, потому что хочу передавать по RS485 метеоданные на сервер.

Означает-ли это, что Вам уже удалось придумать за какие уши притянуть необходимость "OС реального времени" к "RS485" sm.gif? Использование жрущего, как лошадь, RS485 в батарейном устройстве понравилось отдельно sm.gif.


Houston
Цитата(dxp @ Oct 29 2015, 08:15) *
Фигня какая-то. Сами же сказали, что надо очень хорошу и надёжную, значит надо NTFS или ext4 - хорошие, надёжные журналируемые системы.



NTFS или ext4 -они же не встанут на низкопроизводительный STM32, которые мало потребляет. (метеостанция - на батарейке)

Цитата(zltigo @ Oct 29 2015, 18:43) *
Означает-ли это, что Вам уже удалось придумать за какие уши притянуть необходимость "OС реального времени" к "RS485" sm.gif? Использование жрущего, как лошадь, RS485 в батарейном устройстве понравилось отдельно sm.gif.


Я с этим вопросом по ОСРВ к вам и обратился за помощью, разбираюсь вот...RS485 (предварительно) не будет постоянно работать безусловно, а лишь раз в 30 минут.
А какую ОС вы предлагаете?
zltigo
QUOTE (Houston @ Oct 29 2015, 17:49) *
А какую ОС вы предлагаете?

Для начала расскажете, что хотите сделать. Пока я услышал только требование батарейки и вообще никаких обоснований вообще наличия системы реального времени. Что, простите, Вы вобще думаете о том, что такое RTOS?
Если говорить только о том, что Вы хотите разобраться что такое RTOS, без относительно к батарейкам, 485 и метеостанциям, то начните с FreeRTOS.
Houston
Цитата(zltigo @ Oct 29 2015, 19:02) *
Для начала расскажете, что хотите сделать. Пока я услышал только требование батарейки и вообще никаких обоснований вообще наличия системы реального времени. Что, простите, Вы вобще думаете о том, что такое RTOS?
Если говорить только о том, что Вы хотите разобраться что такое RTOS, без относительно к батарейкам, 485 и метеостанциям, то начните с FreeRTOS.


Я хочу сделать опрос датчиков метеостанции, сбор этих данный и отправку на сервер каждый 30 минут.
Можно реализовать это без ОС вообще (как я раньше делал всегда)-просто как обычный замкнутый цикл в коде С.
С ОСРВ начал знакомиться недавно, поэтому и прошу совета.
Если говорить об ОС в целом, то вижу преимущества в более быстром написании драйверов (или использованием уже готовых), если она установлена.
Если говорить об ОСРВ - насколько она поможет сократить задержку передачи данных с датчиков на сервер и обратно?

Но еще есть необходимость сделать платформу метеостанции с сервоприводом, т.е. чтобы я мог с сервера повернуть ее на нужный угол. Здесь интуитивно кажется, что нужна как раз ОСРВ, чтобы сервопривод вовремя реагирововал на запросы.
zltigo
QUOTE (Houston @ Oct 29 2015, 18:47) *
Я хочу сделать опрос датчиков метеостанции, сбор этих данный и отправку на сервер каждый 30 минут.
Можно реализовать это без ОС вообще (как я раньше делал всегда)-просто как обычный замкнутый цикл в коде С.

Ну и продолжайте в том же духе, если речь идет о той-же задаче.
QUOTE
Если говорить об ОСРВ - насколько она поможет сократить задержку передачи данных с датчиков на сервер и обратно?

Ни на сколько по сравнию со сколь-нибудь грамотной реализаций той-же пердачи с использованием прерываний. Разве только увеличить может. Задача максимльного ускорения ОДОГО процесса на фоне всяких тридцатисекундных прочих, не есть задача решаемая какими-либо RTOS.
QUOTE
Но еще есть необходимость сделать платформу метеостанции с сервоприводом, т.е. чтобы я мог с сервера повернуть ее на нужный угол.

RTOS не заменяет сервопривод. Да и наличие проводов к "метеостанции" делает абсолютно непонятным ее батарейное питание.
В общем разговор ни о чем sad.gif.
Houston
Не очень понял по поводу "тридцатисекундных прочи". Я датчики все опрашиваю за 50 мс. Если вы считаете, что ОСРВ тут не к месту, то сообщите пожалуйста в каких системах ОСРВ целесообразно применять? А то писали бы так все программисты, как я, замкнутый цикл и все бы устраивало в плане задержек
AlexandrY
Цитата(Houston @ Oct 29 2015, 19:32) *
Не очень понял по поводу "тридцатисекундных прочи". Я датчики все опрашиваю за 50 мс. Если вы считаете, что ОСРВ тут не к месту, то сообщите пожалуйста в каких системах ОСРВ целесообразно применять? А то писали бы так все программисты, как я, замкнутый цикл и все бы устраивало в плане задержек


А что за датчики, сколько их?
Плату сами делаете?
На компьютере имеете программу обработки данных?

Все это влияет на выбор RTOS.
Houston
Плату делаю сам, ровно как и прошивку. Спаял пока на STM32F103. 5 датчиков по UARTам подключены (давление, влажность, температура воздуха). На ПК предполагаю установить сервер сбора данных, например OPC, как самый популярный. Может быть вы знаете, где можно прочитать рекомендации по выбору RTOS ?
AlexandrY
Цитата(Houston @ Oct 29 2015, 21:00) *
Плату делаю сам, ровно как и прошивку. Спаял пока на STM32F103. 5 датчиков по UARTам подключены (давление, влажность, температура воздуха). На ПК предполагаю установить сервер сбора данных, например OPC, как самый популярный. Может быть вы знаете, где можно прочитать рекомендации по выбору RTOS ?


Знаете, в вашей станции действительно функциональности кот наплакал.
Все можно сделать в суперцикле.
Нет даже интереса поднимать холивар.

Неужто даже не думаете туда прикрутить протоколы IoT для выхода в облака, или какой нибудь Wi-Fi/Bluetooth?
Или предусмотреть расширяемость до сети автономных станций? Накопитель то хоть локальный будет?
zltigo
QUOTE (Houston @ Oct 29 2015, 19:32) *
то сообщите пожалуйста в каких системах ОСРВ целесообразно применять?

Там, где есть хоть какой-то функционал и нужно делить недостающие временные или иные ресурсы.
alexunder
Цитата(Houston @ Oct 29 2015, 19:32) *
то сообщите пожалуйста в каких системах ОСРВ целесообразно применять?

Тут недавно была тема с аналогичной постановкой вопроса. Сколько людей, столько и мнений.
mcheb
Цитата(AlexandrY @ Oct 29 2015, 12:19) *
Логика слабая.
Все носимые гаджеты снабжены операционкой. Даже часы и пульсометры. А работают все от батареек.
Хорошие RTOS имеют специальный вариант драйверов с управлением питанием в каждом.

Все гаджеты полдня работают. Метеостанция должна работать месяцами а то и годами от батарейки.
=AK=
Цитата(mcheb @ Oct 30 2015, 19:53) *
Все гаджеты полдня работают. Метеостанция должна работать месяцами а то и годами от батарейки.


Угу. И сервопривод тоже годами от батарейки будет работать. Как часы.
Ruslan1
Автор, у Вас где-то проблема в логике.

Если есть RS-485- то есть и провод. Если есть провод-то есть и возможность подцепить внешнее питание. Ну и далее по тексту.
Необходимость RTOS для RS-485- хм, неужели без RTOS размах будет меньше 200 милливольт?

Неплохо бы подумать над тем, что и для чего делается, какие ключевые требования выдвинуты, а не начинать с выбора цвета кнопки на передней панели.
Если освоение RTOS и есть цель разработки- то не придумывайте дополнительных аргументов
Про RTOS- однозначно берите некоммерческую. Нет смысла связываться с ворованным без нужды. FreeRTOS мне лично видится самым подходящим.

Документация: хороший цикл статей был в журнале "Компоненты и технологии" 2011, автор Андрей Курниц, называлось "FreeRTOS —операционная система для микроконтроллеров". Мне очень помогло освоить. ПДФ-ки в интернете выложены, можно найти.
Ну и книжку от автора µC/OS-II (Jean Labrosse) очень полезно посмотреть для общего понимания. Просто это было первое что я читал по RTOS, написано понятным языком. Это "uCOS, The Real-Time Kernel", особенно вторая глава, "Real-Time Systems Concepts" - внятно, с картинками, понятно.
esaulenka
Руслан, Ваш ответ - единственный "в тему". Остальные опять понты кидают...

Автору темы предлагаю почитать... википедию , там неплохая подборка ссылок.
И ещё очень-очень рекомендую scmRTOS. Всё просто и понятно, и документация - просто "на отлично".
Herz
Цитата(esaulenka @ Oct 30 2015, 13:14) *
Руслан, Ваш ответ - единственный "в тему". Остальные опять понты кидают...

Вот только не надо оценки делать. Они тоже "не в тему". Автор сам разберётся, что из высказанного было ему полезным.
jcxz
Если задача - сделать метеостанцию с некоторым кол-вом датчиков, ведением журнала в энергонезависимой памяти и батарейным питанием, то из этой задачи никак не следует
необходимость ни какой-либо ОС ни тем более файловой системы.
У меня работает подобная самопальная. Уже почти год от одной пальчиковой батарейки (и по расчётам ещё на несколько лет должно хватить её).
Ни каких ОС, ни какой файловой системы. Сделал на отладке на MSP430FRxxx. Ведение журнала - во FRAM (хотя он небольшой длительности, но мне особо и не нужно много, иначе добавил-бы
SPI-флешку). Температура + давление + влажность + периодическая синхронизация часов с базой, которая синхронизирована с SNTP.
Связь с базой для получения текущих показаний и чтения журнала и конфигурирования - через nRF24L01+.

А если задача именно в изучении RTOS, то это совсем другое дело.
Да и вообще непонятно: автор пишет про батарейное питание, и тут же сразу выбирает почему-то STM32F103 вместо чего-то заточенного именно под малое потребление. И ещё зачем-то RS-485 втюхивает. Что-то не так в консерватории...
sigmaN
Действительно чувствуется, что требования не проработаны...
Рекомендую на досуге прочесть
http://iosifk.narod.ru/nat_m3.pdf
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.