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

 
 
> mRTOS-кооперативная операционная система, порт CodeVision, порт WinAvr, mRTOS-кооперативная операционная система для AVR
LVII
сообщение Oct 30 2009, 11:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 13-05-08
Пользователь №: 37 469



Предлагаю на рассмотрение уважаемым ембеддерам кооперативную операционную систему реального времени для малых и средних контроллеров AVR, правда никто не запрещает использовать ее для всех типов контроллеров. Существует два порта - под CodeVision и WinAVR.
Сразу же хочу оговориться, что понятие реального времени в случае кооперативных систем достаточно условно - это описано в статье на сайте и документации к ОС.
Используя эту систему начинаю разработку с проектирования ПО - используя упрощенную нотацию UML в бесплатном редакторе DIA.
Разрабатывать проекты получается быстрее, существенно легче стало обеспечивать модификацию, сопровождение и отладку программного обеспечения. Понятнее и прозрачнее стали тексты программ.

Адрес сайта - http://movilavn.narod.ru/

Зайти в раздел "Статьи", выбрать статью - "mRTOS - кооперативная операционная система для микроконтроллеров".
Для загрузки доступны сама ОС, документация и примеры использования.

Сообщение отредактировал LVII - Oct 30 2009, 11:58
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alcosar
сообщение Oct 30 2009, 17:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 30-03-06
Пользователь №: 15 598



Начинаем читать документацию, идущую в файле с mRTOS(стр. 2) :
Цитата
Всю приведенные ниже выкладки, рассуждения и оценки являются результатом личного опыта и знаний автора, поэтому обладают долей субъективизма и могут содержать ряд неточностей и спорных моментов.

А теперь прочитаем документацию к scmRTOS(стр. 7):
Цитата
Все приведенные ниже рассуждения, оценки, выводы основаны на личном опыте и знаниях автора и вследствие этого обладают известной долей субъективизма, что обуславливает наличие как неточностей, так и ошибок.

Ну и так далее - цельнотянутые куски из документации к scmRTOS.
crying.gif
Go to the top of the page
 
+Quote Post
LVII
сообщение Oct 31 2009, 11:19
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 13-05-08
Пользователь №: 37 469



Цитата(alcosar @ Oct 30 2009, 19:14) *
Ну и так далее - цельнотянутые куски из документации к scmRTOS.
crying.gif


До решения о написании собственной ОС, были изучены все доступные ОС, естественно и scmRTOS. Память у меня очень неплохая. Так, что ненароком повторил "цельнотянутые куски из документации к scmRTOS", но в документации это только общие слова(видно из вышеприведенных примеров). Но на всякий случай прошу прощения! Действительно важная, особенно техническая, часть документации - это эксклюзив. Это же касается идеи и кода.

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

Насчет preemptive ОС - уже несколько раз брался. Но при решении конкретных задач(проектов), существующая ОС, удовлетворяла всем требованиям. Проекты включали подключение к TCP/P, используя WizNET 5100. Работа с GSM, через модули SIMCOM. Куча датчиков.
Но тем не менее, все это уже на этапе проектирования отлично вписывалось в mRTOS.
Да и само пректирование упрощалось.
Т.е. пока не вижу проекта для 8-ми битных микроконтроллеров с необходимостью preemptive ОС.
Может быть не прав. Поправьте.
Go to the top of the page
 
+Quote Post
alcosar
сообщение Nov 1 2009, 05:22
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 30-03-06
Пользователь №: 15 598



Цитата(LVII @ Oct 31 2009, 15:19) *
До решения о написании собственной ОС, были изучены все доступные ОС, естественно и scmRTOS. Память у меня очень неплохая. Так, что ненароком повторил "цельнотянутые куски из документации к scmRTOS", но в документации это только общие слова(видно из вышеприведенных примеров). Но на всякий случай прошу прощения! Действительно важная, особенно техническая, часть документации - это эксклюзив. Это же касается идеи и кода.

Это не память хорошая и не ненароком. Брать чужое и выдавать за свое называется по-другому.
Документация к scmRTOS:
Цитата
Итак, в контексте текущего рассмотрения, операционная система – сово-
купность программного обеспечения (ПО), дающего возможность разбить поток
выполнения программы на несколько независимых, асинхронных по отношению
друг к другу процессов и организовать взаимодействие между ними. Т.е. внима-
ние обращено на базовые функции, оставляя в стороне такие вещи, присущие ОС
для больших машин, как файловые системы (т.к. и файлов-то никаких, обычно,
нет), драйверы устройств (которые вынесены на уровень пользовательского ПО) и
проч.

Документация к mRTOS:
Цитата
Итак, в контексте текущего рассмотрения, операционная система – совокупность
программного обеспечения (ПО), дающего возможность разбить поток выполнения
программы на несколько независимых, асинхронных по отношению друг к другу
процессов и организовать взаимодействие между ними. Т.е. внимание обращено на
базовые функции, оставляя в стороне такие вещи, присущие ОС для больших машин, как
файловые системы (т.к. и файлов-то никаких, обычно, нет), драйверы устройств (которые
вынесены на уровень пользовательского ПО) и прочее.


Документация к scmRTOS:
Цитата
Таким образом, исходя из того, что основная функция ОС – поддержка
параллельного асинхронного исполнения разных процессов и взаимодействия
между ними, встает вопрос о планировании (Scheduling) процессов, т.е. когда ка-
кой процесс должен получить управление, когда отдать управление другому про-
цессу и проч. Эта задача возлагается (хоть и не полностью) на часть ядра ОС, на-
зываемой планировщиком (Scheduler). По способу организации работы плани-
ровщики бывают:

Документация к mRTOS:
Цитата
Таким образом, исходя из того, что основная функция ОС – поддержка параллельного
асинхронного исполнения разных процессов и взаимодействия между ними, встает вопрос
о планировании (Scheduling) процессов, т.е. когда какой процесс должен получить
управление, когда отдать управление другому процессу и прочее. Эта задача возлагается,
хоть и не полностью, на часть ядра ОС, называемой планировщиком (Scheduler).
По способу организации работы планировщики бывают:

Ну и так далее.

В документация к mRTOS читаем следующее(стр.13):
Цитата
Data Stack используется для динамического хранения локальных
переменных, посредством его передаются параметры функций и сохраняются регистры во
время вызова функций обработки прерываний. В CodeVision для хранения адреса
вершины Data Stack используется Y-регистр (регистровая пара r28 и r29), в WinAVR
используется регистровая пара r24 и r25, а в ICCAVR регистровая пара r16 и r17.

У avr-gcc нет отдельного Data Stack, а есть единый стек для хранения адресов возврата и данных. Указатель на верхушку стека также хранится в регистровой паре Y. Через r24, r25 передаются параметры в функцию.
avr-libc
Цитата
Call-saved registers (r2-r17, r28-r29):
May be allocated by gcc for local data. Calling C subroutines leaves them unchanged. Assembler subroutines are responsible for saving and restoring these registers, if changed. r29:r28 (Y pointer) is used as a frame pointer (points to local data on stack) if necessary. The requirement for the callee to save/preserve the contents of these registers even applies in situations where the compiler assigns them for argument passing.

Цитата
* Function call conventions:
Arguments - allocated left to right, r25 to r8. All arguments are aligned to start in even-numbered registers (odd-sized arguments, including char, have one free register above them). This allows making better use of the movw instruction on the enhanced core.

If too many, those that don't fit are passed on the stack.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- LVII   mRTOS-кооперативная операционная система, порт CodeVision, порт WinAvr   Oct 30 2009, 11:53
- - oll   Цитата(LVII @ Oct 30 2009, 16:53) Предлаг...   Oct 30 2009, 12:25
- - LVII   Благодарствую за положительную оценку! Буду ра...   Oct 30 2009, 17:04
|- - _Pasha   Цитата(alcosar @ Oct 30 2009, 20:14) Ну и...   Oct 30 2009, 18:16
||- - oll   Цитата(_Pasha @ Oct 30 2009, 23:16) И к т...   Oct 31 2009, 05:08
- - LVII   alcosar - по существу вопроса у Вас, что нибудь ес...   Nov 1 2009, 07:00
|- - AHTOXA   Цитата(LVII @ Nov 1 2009, 12:00) Вообще в...   Nov 1 2009, 07:52
- - sensor_ua   Не буду разбираться кто где плагиатор. Вот попался...   Nov 1 2009, 07:41
|- - plus   Цитата(sensor_ua @ Nov 1 2009, 10:41) поп...   Nov 2 2009, 21:22
|- - RA3WUM   Цитата(sensor_ua @ Nov 1 2009, 10:41) Не ...   Nov 3 2009, 10:58
|- - mempfis_   Цитата(RA3WUM @ Nov 3 2009, 14:58) Спасиб...   Nov 3 2009, 11:31
- - LVII   Один человек только протестировал! Остальные ...   Nov 1 2009, 11:56
|- - AHTOXA   Цитата(LVII @ Nov 1 2009, 16:56) Один чел...   Nov 1 2009, 12:05
|- - Petka   Цитата(LVII @ Nov 1 2009, 14:56) Один чел...   Nov 1 2009, 12:16
- - LVII   Проверил сам - да действительно почти совпадают не...   Nov 1 2009, 13:03
|- - klen   че за базар? граждане? код смотрите который вам пр...   Nov 1 2009, 13:18
|- - Petka   Цитата(klen @ Nov 1 2009, 16:18) че за ба...   Nov 1 2009, 13:34
||- - ReAl   Цитата(Petka @ Nov 1 2009, 15:34) Спокуха...   Nov 1 2009, 14:43
|- - haker_fox   Цитата(klen @ Nov 1 2009, 21:18) я книгу ...   Nov 2 2009, 00:24
- - oll   Может "ОЗУ и код даром выброшены", но мн...   Nov 1 2009, 17:23
|- - ReAl   Цитата(oll @ Nov 1 2009, 19:23) Может ...   Nov 1 2009, 19:17
||- - ReAl   Цитата(ReAl @ Nov 1 2009, 21:17) Я просто...   Nov 2 2009, 00:39
|- - LVII   Цитата(oll @ Nov 1 2009, 19:23) Да еще во...   Nov 1 2009, 19:18
- - sensor_ua   Цитатаи все это на одном таймере для чего этот тай...   Nov 1 2009, 17:38
- - LVII   ЦитатаХитрая хитрость с "приоритетами".....   Nov 1 2009, 19:11
- - oll   для чего этот таймер использовали? Это я про систе...   Nov 2 2009, 04:56
|- - _Pasha   Цитата(oll @ Nov 2 2009, 08:56) С ОС прио...   Nov 2 2009, 06:28
|- - oll   Цитата(_Pasha @ Nov 2 2009, 11:28) Это же...   Nov 2 2009, 07:20
|- - MrYuran   Цитата(oll @ Nov 2 2009, 10:20) для 1-WIR...   Nov 2 2009, 07:25
|- - _Pasha   Цитата(oll @ Nov 2 2009, 10:20) как Вы ре...   Nov 2 2009, 07:28
- - MrYuran   По теме: Подробно не смотрел, времени особо не был...   Nov 2 2009, 07:32
- - LVII   ОС была намеренно минимизирована. Чтобы уместилась...   Nov 2 2009, 11:34
|- - _Pasha   Цитата(LVII @ Nov 2 2009, 14:34) Даже син...   Nov 2 2009, 11:50
|- - ReAl   Цитата(LVII @ Nov 2 2009, 13:34) Асинхрон...   Nov 2 2009, 12:24
||- - LVII   Цитата(ReAl @ Nov 2 2009, 14:24) Таким об...   Nov 2 2009, 22:48
|- - Огурцов   Цитата(LVII @ Nov 2 2009, 12:34) ОС была ...   Nov 2 2009, 18:01
|- - LVII   Цитата(Огурцов @ Nov 2 2009, 20:01) Я бы ...   Nov 3 2009, 11:38
||- - Огурцов   Цитата(LVII @ Nov 3 2009, 12:38) На прост...   Nov 3 2009, 14:00
|||- - _Pasha   Цитата(Огурцов @ Nov 3 2009, 17:00) место...   Nov 3 2009, 15:34
||- - rembas   [quote name='LVII' date='Nov 3 2009, 1...   Nov 7 2013, 13:14
|- - ReAl   Цитата(Огурцов @ Nov 2 2009, 20:01) Я бы ...   Nov 3 2009, 17:08
|- - Огурцов   Так и не надо в мелкий. Надо мало секса с этими ка...   Nov 3 2009, 21:20
|- - ReAl   Цитата(Огурцов @ Nov 3 2009, 23:20) Так и...   Nov 3 2009, 22:46
|- - _Pasha   Цитата(ReAl @ Nov 4 2009, 01:46) если уж ...   Nov 3 2009, 23:19
|- - defunct   Цитата(ReAl @ Nov 4 2009, 00:46) если уж ...   Nov 3 2009, 23:27
- - oleg_lwd   Посмотрел mRTOS, решил до кучи написать свою пере...   Dec 18 2009, 09:34
- - oleg_lwd   В процессе отладки реального проекта, пришлось не...   Dec 21 2009, 08:22
- - oleg_lwd   Сделал вариант для мелких AVR. Прерывания теперь ...   Jan 11 2010, 09:22
|- - oll   Цитата(oleg_lwd @ Jan 11 2010, 14:22) Сде...   Jan 12 2010, 13:10
- - oleg_lwd   Даже не и знаю что тут объяснять void OS_yeld(voi...   Jan 13 2010, 12:24
|- - gabd   Цитата(oleg_lwd @ Jan 13 2010, 17:24) Даж...   Mar 4 2016, 10:22
- - rembas   HELP Уважаемый LVII проверил Ваш вариант mRTOS на ...   Nov 12 2013, 07:35
- - arhiv6   В образовательных целях решил попробовать разобрат...   Mar 9 2016, 19:09
|- - gabd   Если об ОС от oleg_lwd, имхо (я сам учусь ) Цитата...   Mar 10 2016, 11:28
- - arhiv6   gabd, нет, вопросы были о mRTOS.   Mar 10 2016, 12:03
- - gabd   Наконец-то, скачал этот mRTOS (на работе narod бло...   Mar 15 2016, 07:48


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

 


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


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