Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » Software » RTOS


RTOS

Сообщений 1 страница 9 из 9

1

Вопрос
Когда стоит уйти от обычной организации программы в цикле и перейти на RTOS?
Просто сам RTOS не использую, но возможно зря... поэтому и возникают такие вопросы. Какие плюсы дает ОСРВ и какие минусы.

Какой то расплывчатый вопрос получился.... Короче в каких проектах Вы использовали RTOS, а в каких наоборот отказались от него в сторону стандартного подхода.  Очень интересно.

2

+ за вопрос.

3

RTOS создавались прежде всего для облегчения жизни программистам. RTOS предлагает набор готовых сервисов и рецепты правильного программирования. Особенно важно, когда программа сложная, одновременно нужно реагировать на множество внешних событий. Но конечно RTOS требует накладных расходов: ОЗУ, загрузка процессора, код более сложный. И требуется некоторое время на изучение, а это тоже ресурс. RTOS прменяют повсеместно, от жёстких дисков, до чипов blue tooth.

4

Тут оправданность выбора, изучения и перехода сильно зависит от задач.
Оправдано только при необходимости работы с большим потоком событий с гарантией реакции на каждое из них.
Иногда ситуация может быть разрешена распределением обработки на несколько устройств.
А так RTOS разного вида вполне себе живут вокруг нас.
Даже примитивные кнопки (iButton) на чипах от TI вполне себе с этой системой живут.
Конечно меняется подход к программированию, но сильно сложного там ничего нет.
При опыте работы с конечными автоматами все покажется очень похожим ;).

5

Atomic-dm написал(а):

Просто сам RTOS не использую, но возможно зря...

Так попробовал бы и впечатлениями потом поделился, что понравилось, что не понравилось
Очень интересно )

6

vt340 написал(а):

Так попробовал бы и впечатлениями потом поделился, что понравилось, что не понравилось
Очень интересно )


я просто на работе переквалифицировался в программиста STM32.случайно  так вышло, до этого изучения МК было исключительно домашним хобби. Короче теперь работа и увлечение тесно переплелись, что приятно . Но так получилось что нужно закончить большой чужой проект в котором важна скорость обработки сигнала, а также обеспечить длительную работы от аккумулятора. так же должна быть возможность расширения устройств - разных штук типа GPS, блютус и т.д.
Учитывая что есть разные задачи в устройстве то приходят мысли про использование в этом всем RTOS. Но в тоже время учитывая необходимую стабильность и безотказность устройства , наличия большого количества непонятного кода самой ОС немного пугает. ресурсов то хватит, stmF4 используется. но целесообразно ли ?!?!!? вопрос открытый.
Если бы делал исключительно для себя и в качестве личного проекта, то думаю точно бы использовал RTOS , а пока  что-то как то стремно сырую, но рабочую прошивку в 60тыс. символов переводить на RTOS. пока я лишь вникаю и привожу в порядок чужой код. Возможно позже начну делать альтернативную версию с RTOS :)

Отредактировано Atomic-dm (2017-07-18 01:11:55)

7

Да я просто намекаю, что лучше самому посмотреть кино, чем судить о крахе и подъёме Голливуда по чужим рецензиям )

8

Пример проекта на RTOS. Сниффер SPI, бывает полезно знать что на самом деле передаётся на подчинённый чип. Блок SPI с высокой и неравномерной скоростью читает данные и передаёт на RS-232. Конечно через промежуточный буфер. Если делать на RTOS, проблема решается просто. Одна задача срабатывает от прерывания блока SPI и посылает даные на задачу отправляющую данные в RS-232. Эти две задачи взаимодействуют через очередь FIFO, в FreeRTOS есть такие объекты. У меня есть скелетные проекты по FreeRTOS http://stm32.aiq.ru/FREERTOS/FreeRTOS.html

9

ИМХО, цитата из ссылки выше является исчерпывающим ответом на вопрос ТС.
FreeRTOS - это ОС жёсткого реального времени, но фактически назвать эту программу операционной системой, можно лишь с натяжкой. Скорей это планировщик с развитыми дополнительными сервисами. В классическом понимании,  ОС подменяет для прикладных программ реальную вычислительную машину, машиной с упрощённой архитектурой, скрывая сложность управления аппаратурой. Неотъемлемым атрибутом современных ОС, наличие слоя драйверов взаимодействующих с аппаратурой, менеджеры ресурсов, обеспечивающие использование ресурса несколькими задачами и т.п. Соответственно структурированная по уровням ОС упрощает создание прикладных программ. Примером полноценной ОС реального времени может служить eCOS или QNX.
В то время как применение FreeRTOS, не отменяет знание аппаратуры МК и программист продолжает работать на достаточно низком уровне. Но во многих случаях выгода от применения FreeRTOS имеется. Часто один МК должен реагировать на множество разных событий, выполнять несколько задач одновременно, тут на помощь приходит FreeRTOS.


Вы здесь » Микроконтроллеры » Software » RTOS