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

 
 
17 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Выпущена scmRTOS 4.0., Ура, товарищи! :)
Aprox
сообщение Apr 12 2012, 07:57
Сообщение #46


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(AHTOXA @ Apr 11 2012, 23:12) *
У меня сложилось впечатление, что вы влезли в эту радостную тему с единственной целью - попонтоваться. К сожалению, получилось не очень, уровень не тот. Претензии к stdint.h выглядят просто жалко, а остальное - вообще какой-то поток сознания. Вы уж извините меня за прямоту.
Я думаю, что вам придётся писать свою ось. С unsigned int вместо uint32_t, и чтоб "задачи синхронизировались напрямую от прерываний периферии". Потому что scmRTOS - не такая, и такой не будет.
Чтож, желаю вам успехов в этом деле.

Дело закончилось обидами. А ведь я хотел как лучше! Чтобы отличная задумка авторов не отставала бы от времени, от прогресса в хардвере микроконтроллеров. Но раз обиделись, зачит чувствуете свою неправоту. Что же касается "придется писать собственную OS"- нет не придется. Ибо не вижу жгучей необходимости.
Go to the top of the page
 
+Quote Post
Lotor
сообщение Apr 12 2012, 08:29
Сообщение #47


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(Aprox @ Apr 12 2012, 11:57) *
Чтобы отличная задумка авторов не отставала бы от времени, от прогресса в хардвере микроконтроллеров.

Остается искренне порадоваться, что вы идете в ногу "с прогрессом в хардвере микроконтроллеров". %)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 12 2012, 08:43
Сообщение #48


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Aprox @ Apr 12 2012, 11:57) *
Дело закончилось обидами. А ведь я хотел как лучше! Чтобы отличная задумка авторов не отставала бы от времени, от прогресса в хардвере микроконтроллеров.

ScmRTOS изначально задумывалась как легковесная ось для "тонких" контроллеров с 512Б ОЗУ.
Для "переднего края хардверного фронта" есть другие.
А авторы, прежде всего, разрушили два расхожих мифа: что операционкам, и тем более на с++, в мелкоте типа AVR и MSP430 не место.
За что им заслуженный респект.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
viterra
сообщение Apr 12 2012, 10:05
Сообщение #49


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

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



Дело в том, что с типами данных действительно БЕДА.. Нестандартные размерности char, int как правило, действительно бесят, вынуждая программистов вытворять финты ушами. С этим ничего не сделаешь. Обижаться или придираться по этому поводу - бессмысленно. Приходится приспосабливаться к тому что есть.
Go to the top of the page
 
+Quote Post
Aprox
сообщение Apr 12 2012, 11:54
Сообщение #50


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(MrYuran @ Apr 12 2012, 11:43) *
ScmRTOS изначально задумывалась как легковесная ось для "тонких" контроллеров с 512Б ОЗУ.
Для "переднего края хардверного фронта" есть другие.

Да, наверное есть, но программирование в системе реального времени на С++ я лично не встречал.
Цитата
А авторы, прежде всего, разрушили два расхожих мифа: что операционкам, и тем более на с++, в мелкоте типа AVR и MSP430 не место. За что им заслуженный респект.

Разрушение давно умерших за ненадобностью мифов - очень сомнительный результат. Поезд ушел. Впрочем, я извиняюсь перед уважаемыми авторами и всеми заинтересованными лицами за доставленные огорчения, если такие вдруг возникли.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Apr 12 2012, 12:24
Сообщение #51


Шаман
******

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



Хочется надеяться, что на том и порешили.
Дальше, если можно, по делу.
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 12 2012, 12:33
Сообщение #52


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Хотелось бы в рантайме иметь возможность определения типа контроллера на котором работает scmRTOS (хотя бы один байт). Чтобы не плодить плагины для IAR под разные типы контроллеров.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 12 2012, 12:52
Сообщение #53


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Nixon @ Apr 12 2012, 16:33) *
Хотелось бы в рантайме иметь возможность определения типа контроллера на котором работает scmRTOS (хотя бы один байт). Чтобы не плодить плагины для IAR под разные типы контроллеров.

Тип контроллера задается при сборке (или его можно как define задать) и использовать в коде. Задать статическую переменную и её использовать по своему усмотрению (иногда надо было). Это же не связано с RTOS.
Или я вопроса не понял?


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 12 2012, 12:59
Сообщение #54


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Nixon @ Apr 12 2012, 15:33) *
Хотелось бы в рантайме иметь возможность определения типа контроллера на котором работает scmRTOS (хотя бы один байт). Чтобы не плодить плагины для IAR под разные типы контроллеров.
Что мешает этот байт вставить в прошивку в виде константы и считывать ее из памяти контроллера плагином?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Nixon
сообщение Apr 12 2012, 13:04
Сообщение #55


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Все правильно, но из плагина я читаю переменную или по имени или по адресу. Второе делать постоянным (для плагина) нет возможности, а первое делать постоянным лучше внутри OS.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Apr 12 2012, 13:30
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Nixon @ Apr 12 2012, 16:04) *
Все правильно, но из плагина я читаю переменную или по имени или по адресу. Второе делать постоянным (для плагина) нет возможности, а первое делать постоянным лучше внутри OS.

А о каких плагинах речь?
Go to the top of the page
 
+Quote Post
Aprox
сообщение Apr 12 2012, 17:42
Сообщение #57


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(IgorKossak @ Apr 12 2012, 16:24) *
Дальше, если можно, по делу.

А по делу, - хочется видеть в составе scmRTOS класс задач, которые умеют ожидать настоящие прерывания от периферии. Безумный вариант через SW не предлагать. Еще хочется видеть эти прерывания вложенными по приоритету, т.е никаких запретов на время исполнения ISR. Видите, как просто -хочется, чтобы C++ наконец-то заработал на современных чипах.

PS. Забыл совсем. SW прерывания для медленных фоновых задач вполне можно оставить, какие они сейчас уже есть.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Apr 12 2012, 17:56
Сообщение #58


Шаман
******

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



Цитата(Aprox @ Apr 12 2012, 20:42) *
А по делу, - хочется видеть в составе scmRTOS класс задач, которые умеют ожидать настоящие прерывания от периферии. Безумный вариант через SW не предлагать. Еще хочется видеть эти прерывания вложенными по приоритету, т.е никаких запретов на время исполнения ISR.

Один из моих бывших коллег, мельком взглянув на эту ОС сразу же от неё отказался, т. к. у неё, видите ли, количество процессов всего 32, а ему надо было больше сотни. То, что он просто не умеет грамотно спланировать программу в расчёт не принималось. Этакий вариант "перепланирование не предлагать".
У меня к Вам встречный вопрос - а на фейхуа оно надо? За более чем шестилетний срок работы с этой ос с первой её версии и реализованную массу проектов у меня такого пожелания не возникло.
Правда, было пару случаев, когда я высказывал авторам свои хотелки, но при этом серьёзно и обстоятельно их обосновывал.
Цитата(Aprox @ Apr 12 2012, 20:42) *
Видите, как просто -хочется, чтобы C++ наконец-то заработал на современных чипах.

Я вижу то, что Ваше пожелание никоим образом C++ не касается.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 12 2012, 17:57
Сообщение #59


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Aprox @ Apr 12 2012, 21:42) *
А по делу, - хочется видеть в составе scmRTOS класс задач, которые умеют ожидать настоящие прерывания от периферии. Безумный вариант через SW не предлагать.

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Apr 12 2012, 20:33
Сообщение #60


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(MrYuran @ Apr 12 2012, 20:57) *
А вы сами как это себе представляете?
Я думаю — никак. Иначе уже хотя бы какой-то конструктив проскочил. В виде «высокоуровневого» (на человеческом языке) описания происходящих процессов.

Цитата(MrYuran @ Apr 12 2012, 20:57) *
Задача, целиком размещенная в обработчике прерывания?
Не, это будет то, что тут сказано — задача, спрятанная в обработчик целиком. А не ожидающая "настоящие прерывания".
Если я правильно понял многократно повторенное желание — то-то в духе того, что можно сейчас сделать путём:

Код
OS::TEventFlag ef;

template<> void TProc1::exec()
{
    ...
    ef.wait();
    ...
}

OS_INTERRUPT void SomeISR()
{
    OS::TISRW isrw;
    ef.signal_isr(); // и больше тут ничего, к аппаратуре будет обращаться сама задача
}
Но только чтобы это было без этой SomeISR(). Вот как только аппаратное прерывание возникло, так с точки за ef.wait() и продолжить. А как в другом месте поднимется флаг прерывания, кторого ждёт более приоритетный процесс, так чтобы так же без отдельного обработчика и флага сразу туда. А если менее приоритетный, то чтобы «оно» ждало.
Я не могу понять
  • Причём к этой хотелке фраза "C++ наконец-то заработал на современных чипах" (если бы такое можно было сделать, то это можно было бы и на С)
  • Чем так кардинально отличается Cortex-M3 или там ARM9 от AVR или MSP430, что в нём уже можно это сделать. На мой взгляд, такая хотелка подразумевает аппаратную реализацию планировщика ОС и переключения контекста, всё остальное по реально происходящим действиям (вход в ISR, отмашка конкретного события и отметка задачи как готовой к исполнению, перепланирование и переключение консткста) и временам (отрабатываемым инструкциям процессора) практически не будет отличаться от приведенного выше примера с вырожденным обработчиком прерывания, даже если при помощи каких-то языковых или внеязыковых средств визуально оно будет выглядеть без такого вырожденного обработчика и с каким-то OS::Wait(TIMER1_IRQ); в коде процесса.

Повторюсь — с точки зрения хотелки, если я её правильно понял, все используемые нами микроконтроллеры одинаковые (ну некоторые не имеют приоритетной системы прерываний). Это где-то в районе могилы iAPX 432 копать надо.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 12:43
Рейтинг@Mail.ru


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