Перейти к содержанию
    

Критерии перехода к RTOS

Она их помогает решать.

Не факт. Абсолютно. Здесь Вы меня не убедите никогда. Поэтому предлагаю ничью по этой части дискуссии. Каждый остается при своем.

 

Значит что в будущем разработчиков не будет.

В том виде, как мы с Вами представляем, к сожалению, нет. Я, лично, уже около 10 лет таковым не являюсь. Стремление к мат. благам перевесило. Пошел сменным инженером на крупное производство. Занимаюсь техническим творчеством только, когда сильно попросят или для души.

Зато могу взглянуть на процесс разработки со стороны. Да и подходы, принятые в пром. автоматике, оказали свое воздействие...

 

И кто такой Бангалор?

Город в Индии. Где софт пишут для США.

Ну вот Вам и капец нашим разработчикам. Индусов много, процент дураков среди них такой же, как среди нас. По-любому дешевле...

 

Тратится, но какая разница на что его тратить, на свой самафор или на Юкосный?

У меня нет семафоров. Есть входные переменные.

 

Может вы просто не так пишете софт?

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

Под написанием софта я понимаю создание программок для РС. В этом вся разница.

Это две абсолютно разные индустрии. Со своими правилами и устоями.

Хотя есть примеры удачного сочетания.

 

Попробуйте работать без операционки на персоналке.

Пробовал. Был такой зверь - "Электроника 60" назывался, PDP/LSI-11 по-ихнему. Я на нем в юности программки валял прямо в кодах, даже без Ассемблера.

А сейчас даже и пытаться не буду. Я больше скажу. Я и Visual С++ пользоваться не буду. Потому как человеко-машинный интерфейс там не очень. По мне так Borland C++ Builder самое то.

Но одно дело встроенные системы, которые должны быть особо надежными и совсем другое системы на основе РС, обеспечивающие HMI. У них иные требования, и надежность среди них - не самое первое.

Хотя справедливости ради отмечу, что в свое время наблюдал создание полноценной системы визуализации с нуля на процессоре I80186 без всяких встроенных RTOS и ОС.

 

Я не согласен. Досконально изучать ассемблер смысла нет. Достаточно разобраться что так к чему, чтобы можно было разобраться в листинге.

Так наизусть никто и не заставляет... Здесь важно осознать, я бы сказал, "почувствовать" архитектуру определенного класса МК. А для этого надо навалять пару, тройку не очень сложных программуль на Ассемблере, желательно с использованием прерываний и каких нибудь внутренних переферийных узлов МК.

 

Может вы что-то не так делали? К примеру время вам нужно считать? Интервал в 1 милисекунду достаточен? Вот и используйте интервал в 1 мс, и для шедулера.

Я вообще время не считаю. Временные переменные (разных типов) ничем не хуже и не лучше всех остальных.

 

Не стандартный интерфейс к железу, а к взаимодействию разных частей программы. Семафоры итд, уже давно придумали и продумали.

В рамках встроенных, ответственных систем не для меня. В системах на РС, где халява имеет место быть - безусловно да.

 

Нужно по задаче смотреть.

Пересмотрел хренову тьму пром. оборудования. Везде одно и то же. Концептуально от задачи ничего не зависит. Меняется мощность PLC и размер панели.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если будет идея "по существу", пишите. Возрастом махать, как-то не конструктивно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу - всё ИМХО, не больше. Наверно...;)

Не так давно появился термин BSP (Board Support Package) - он вместил в себя дрова и подсистему синхронизации/времени (не часы-календарь, а системного). Причём эта штуковина предполагает дрова незавязанные на ОС (ОС не участвует в решении внутренних проблем драйверов), а предоставляющие себя. Соответственно дрова обеспечивают некоторый сервис, в том числе разделение/совмещение/преобразование потоков и блочных данных. На уровне взаимодействия с ОС становятся необходимыми быть какие-либо достаточно привычные способы взаимодействия, например IOCTL или "обычные" семафоры, мейлбоксы... Так вот ежели линуксовый люд и мелкомягкие всё чаще имеют одно мнение (помотрите факты отсутствия термина HAL во многих современных реализациях и линухов и виндовсэмбеддед и замена на BSP), то вопросов становится только больше.

Я считаю, что нужно так реализовывать дрова, чтобы максимально ОС там нафиг не была нужна, но спокойно могла ими пользоваться - тогда ОС и частный случай - RTOS - простой и унифицированный способ написания/выполнения прикладных задач. Конечно дрова не бывают одинаковыми под все ОС;)

Мне, правда, чаще хватает механизма сопрограмм и round robin, чем полноценной RTOS, но когда нужно хоть что-то, типа файловой системы, то реализация без ОС может быть относительно безболезненна только в очень узкоспециализированных задачах.

Ежели есть PC и ОС для него, то дрова и ОС завсегда завязаны - традиция установки костылей, и выбор ОС есть вопрос анализа преимуществ и недостатков не просто ОСей, а вместе с дровами... и их глюками... известными и неизвестными... Это отдельная тема для больших диссертаций и криков "ацтой"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я считаю, что нужно так реализовывать дрова, чтобы максимально ОС там нафиг не была нужна, но спокойно могла ими пользоваться - тогда ОС и

Извините, вы оптимист или просто человек со странностями?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Считайте лучше, что со странностями.

Пример.

Нужен драйвер UART с кольцевыми буферами и управлением передачей (программно). Рассмотрим механизм передачи (чуть-чуть).

Вариант 1.

Наполнение/опустошение буфера передачи реализуем с семафорами, по окончании выгрузки из буфера передачи в аппаратное FIFO взведём событие. ОС поднимет ожидающую задачу, которая в свою очередь запустит отсчёт времени на выключение передачи и уйдёт ждать события таймера.

Вариант 2.

Флаг блокировки вынесем в интерфейс драйвера. Де-факто не будем пытаться разделять ресурс. "Часть от семафора" - локальный счётчик понадобится для работы с головой/хвостом буфера. По окончании выгрузки из буфера передачи в аппаратное FIFO добавим в слот таймера в список нашу маленькую функцию (в обработчике прерывания таймера двигаем однонаправленные списки, пустые или не совсем - махонький локальный жесткий планировщик) переключения передачи. Вуаля - ОС нифига не знает об этой локально решённой задаче - она не есть полноценный task - это её в task можно завернуть, ну и тягать за собой честный шедулер ОС, TCB и т.д.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос о многоканальном регистраторе. Если этот проект выполнять на МК c DSP ядром или чистом DSP, то каково должно быть тех. задание, чтобы RTOS стала необходимостью?

 

Ну про необходимость и достаточность я не говорил. Я говорил только о том, что мне удобнее и быстрее написать RTOS. Возможно я уподобляюсь своему тренеру. Как-то его подбежали бить несколько бультерьерообразных мужчин. И он, чинивший свою развалюху монтировкой, эту монтировку отложил в сторону... Зачем же он это сделал??? А чтобы руки были свободными!

 

Вот мое ТЗ:

 

- Ввод по 48 независимым каналам.

- обработка во временной области (фильтрация, нахождение СКО и т.д.)

- обработка в частотной (гармонический анализ)

- вывод в буферное ОЗУ

- вывод во флэш

- перкачка из флэш в пользовательский(присоединяемый по необходимости) винчестер

- еще всякая фигня в такомже роде.

 

Есть и условия типа: 80% всего времени процессор щелкает обработку во временной области (фильтрация, нахождение СКО и т.д.) и 10% - на спектральный анализ.

 

И в чем близость между гармониками и RTOS? Без шуток...

 

Да вот не могу я заниматься гармониками без RTOS! Хоть ты тресни. Пробывал - не получается.

 

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

 

Изложите, пожалуйста.

 

 

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

 

Ну нада-а-а-а-ел он мне! Его манера лезть не имея достаточных DSP навыков в дискуссию надоела. Лез бы он хоть с идеями (пусть неправильными), а он лезет с философскими изысками типа острот. При этом меня раздражает его подспудная аппеляция к господам модераторам: ну я же свой! Я ж вас всех всегда хвалю! Это ничего, что я слабо шарю, главное во мне не это...

 

В принципе, один товарищ в подобной ситуации выразился гораздо лаконичнее: любителя бьют!!!

 

...т.е. радиолюбителя :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну про необходимость и достаточность я не говорил. Я говорил только о том, что мне удобнее и быстрее написать RTOS.

 

Да вот не могу я заниматься гармониками без RTOS! Хоть ты тресни. Пробывал - не получается.

 

Я так понял, что Ваш регистратор будет снабжен собственной оригинальной RTOS, написанной специально для этого случая?

 

Изложите, пожалуйста.

 

Уже сделал. Пост №81 в этой теме.

Однако сразу скажу, что все, что там написано, касается только МК с ограниченными скоростями и внутренними ресурсами, т. е. достаточно дешевых. Ваш случай отличается в сторону сложности задачи. Тут и математика, и флэш, и съемный диск...

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

 

Ну нада-а-а-а-ел он мне! Его манера лезть не имея достаточных DSP навыков в дискуссию надоела. Лез бы он хоть с идеями (пусть неправильными), а он лезет с философскими изысками типа острот. При этом меня раздражает его подспудная аппеляция к господам модераторам: ну я же свой! Я ж вас всех всегда хвалю! Это ничего, что я слабо шарю, главное во мне не это...

 

В принципе, один товарищ в подобной ситуации выразился гораздо лаконичнее: любителя бьют!!!

 

...т.е. радиолюбителя :)

 

Ну он же тоже кое-что сделал в этой жизни... А что касается общения, то может быть проще проигнорировать, чем напрягать нервы? На мой взгляд, общение, даже такое, должно доставлять положительные эмоции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял, что Ваш регистратор будет снабжен собственной оригинальной RTOS, написанной специально для этого случая?

 

Ну RTOS или не RTOS, но что-то в этом роде. Правда, скорее всего на этот раз я писать не буду, а возьму что-то из себя раннего :) Т.е. у меня есть заготовки.

 

Однако сразу скажу, что все, что там написано, касается только МК с ограниченными скоростями и внутренними ресурсами, т. е. достаточно дешевых. Ваш случай отличается в сторону сложности задачи. Тут и математика, и флэш, и съемный диск...

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

 

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

 

Ну нада-а-а-а-ел он мне! Его манера лезть не имея достаточных DSP навыков в дискуссию надоела. Лез бы он хоть с идеями (пусть неправильными), а он лезет с философскими изысками типа острот. При этом меня раздражает его подспудная аппеляция к господам модераторам: ну я же свой! Я ж вас всех всегда хвалю! Это ничего, что я слабо шарю, главное во мне не это...

 

В принципе, один товарищ в подобной ситуации выразился гораздо лаконичнее: любителя бьют!!!

 

...т.е. радиолюбителя :)

 

Ну он же тоже кое-что сделал в этой жизни... А что касается общения, то может быть проще проигнорировать, чем напрягать нервы? На мой взгляд, общение, даже такое, должно доставлять положительные эмоции.

 

Разве я напрягаю нервы? Наоборот, я развлекаюсь! Еще мне интересно на сколько хватит местного модератора меня почитывать. Любителя Графики и Научного Атеизма ес-но жалко, но что делать? Он мне разонравился за совершенно конкретные деяния.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разве я напрягаю нервы? Наоборот, я развлекаюсь! Еще мне интересно на сколько хватит местного модератора меня почитывать. Любителя Графики и Научного Атеизма ес-но жалко, но что делать? Он мне разонравился за совершенно конкретные деяния.

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

У меня теперь появилось своего рода развлечение - наблюдать как казалось бы взрослые люди продолжают спорить на ровном месте. Интересно, кто же раньше прекратит? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всегда :-)

Кроме вырожденных случаев экономии "последнего байта" и "последнего такта".

Причем это тоже не факт, ибо за счет правильно посторенной системы можно и на объеме съэконогмить и

наиболее безболезненно разделить недостающие ресурсы между страждующими.

Вышенаписанное результат личного ~20-летнего движения от "сейчас сам быстренько напишу

маленькую и шустую" к системным вещам. Естественно "движение" сопровождалось возрастающей сложностью программ и мощностью контроллеров.

:-) Ну а это к RTOS ни при чем. Обычно такая причина выдвигается теми, кто по жизни пишет очень небольшие простенькие программы и при необходимости поднять нечто более сложное готов "поступиться с принципами" и взять хоть RTOS, хоть что угодно, лишь-бы там "было то, что нужно".

Собственно в такой подход и такая мотивация совершенно НОРМАЛЬНА, просто иногда на таком пути

человеков заносит куда-нибудь в "другую канаву" типа - "Как поставить Linux на ARM7" :-(

 

Здравствуйте.

Поделитесь опытом как наиболее безболезненно что ли перейти на ОС.

 

У меня мало опыта.

Первый мой проект был на MSP430F149. Тогда я только занакомился с МК и об ОС даже не задумывался. Он был простенький - я справился.

 

Второй (и текущий) на C167(+сетевушка реалтек).

Сначала это был интерфейс Ethernet-LPT, для управления некой аппаратурой с компа.

Я соорудил простенький TCP/IP стек.

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

Я решил что пора переходить к "системным вещам"

 

Что посоветуете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что посоветуете?

Перейти к операционным системам :). Простой и легкой методики лично мне не ведомо. Переходил много лет тому назад через написание от простых к более сложным операционок. Для ARMов не стал делать велосипед с нуля - выбрал в качестве отправной точки FreeRTOS, как наиболее соответствующую мому сложившему мировоззрению. Довольно много за 2-3 года работы поменял, но о выборе ее в качестве базы не пожалел ни разу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... как наиболее безболезненно что ли перейти на ОС.

Наиболее безболезненно это постепенно.

Очень стоит также почитать литературу об ОС вообще и о выбранной в частности. А также запустить у себя работающие примеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наиболее безболезненно это постепенно.

Очень стоит также почитать литературу об ОС вообще и о выбранной в частности.

 

Вот и я так рассудил что постепенно лучше.

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

 

А мне бы хотелось почитать как написать свою простенькую, в учебных целях.

Я где то видел тему, где человек спрашивал как написать свою ОС. Ему ответили, что это пустая трата времени, лучше изучи код уже готовой.

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

 

Так что я хочу всетаки написать свою простенькую, "учебную" ОС.

 

Переходил много лет тому назад через написание от простых к более сложным операционок.

 

Вы я так понял тоже не сразу стали использовать гатовые ОС, а написали свои причем даже не только простые но и "более сложные".

 

Подскажите где найти материялы, кот помогли бы при написании ОС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите где найти материялы, кот помогли бы при написании ОС

Именно как учебник для написания своей РТОС (весьма не сложной и доступной для понимания) может служить неоднократно поминаемая на этом форуме scmRTOS (исходники, порты, документация, немного теории).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так что я хочу всетаки написать свою простенькую, "учебную" ОС.

Вы я так понял тоже не сразу стали использовать гатовые ОС, а написали свои причем даже не только простые но и "более сложные".

 

Подскажите где найти материялы, кот помогли бы при написании ОС

 

У нас студенты пишут такие штуки эпизодически. Присоединяйтесь http://embedded.ifmo.ru/index.php/project

 

Проект как раз недавно начался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...