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

 
 
> Требуется совет по выбору RTOS, программист я хреновый
Electrovoicer
сообщение Apr 18 2006, 19:16
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 1-02-06
Пользователь №: 13 874



Созревает проект на LPC213x. Сюдя по всему конечным автоматом на таймере обойтись не получится ввиду большого числа событий и источников прерываний. Это на мой профанский взгляд. Да и надо наконец научиться писать с использованием RTOS. В связи с чем просьба к общественности посоветовать ПРОСТУЮ RTOS. И не просто посоветовать, а подсказать где ее взять. В принципе и купить можно, но сначала хотелось бы пощупать. Главное чтобы софт был качественно задокументирован, а то в С++ я как свинья в апельсинах, разбираться с исходниками не буду да и не смогу наверное. Мне бы на пальцах показать, как создать тред и исполнить в нем мой код. Соответственно хотелось бы иметь готовый порт на мой процик. Вытесняющая она должна быть или невытесняющая, еще не понял. Чтобы это понять, желательно Ваши примеры задач, для которых то или иное больше подходит.
Также просьба не отвечать вроде "да на хрена тебе ртос", "атмел sam7 рулит" и "ваще надо на асме писать"

С уважением, я


--------------------
"А я все помню, я был не пьяный!.." (С)Владимир Семенович
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zuy
сообщение Apr 21 2006, 07:35
Сообщение #2


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

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



А DASM вроде как прав получается, касательно критической секции.
Если Таненбаума книгу "Современные ОС" посмотреть, так там написано, что
Критическая секция служит для того, чтобы предотвратить одновременный доступ к обшим данным. Одно из требований, это то, что в критической области не могут находиться одновременно 2 процесса.
Но для этого действительно не обязательно запрещать прерывания. Поток находящийся в крит.секции, может вытесниться, но если какой другой поток захочет в нее войти, он должен ожидать пока она освободится.
Там есть рисунок, где рассматривается именно случай, когда 2-й поток вытесняет первый, пока он находится в крит.секции, и тоже пытается в нее войти. В результате он блокируется пока крит. секция не освободится.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Apr 21 2006, 08:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(zuy @ Apr 21 2006, 13:35) *
А DASM вроде как прав получается, касательно критической секции.
Если Таненбаума книгу "Современные ОС" посмотреть, так там написано, что
Критическая секция служит для того, чтобы предотвратить одновременный доступ к обшим данным. Одно из требований, это то, что в критической области не могут находиться одновременно 2 процесса.
Но для этого действительно не обязательно запрещать прерывания. Поток находящийся в крит.секции, может вытесниться, но если какой другой поток захочет в нее войти, он должен ожидать пока она освободится.


В общем, спор о терминах.
В принципе можно называть критической секцией любую секцию, где предотвращается одновременный доступ к каким-либо ресурсам из разных процессов. Способ реализации может быть, как методом запрета прерываний, так и с организацией доступа через бинарный семафор (или можно применить модное слово мютекс smile.gif) или какой-нибудь флаг.
Причем иногда доступ запретом прерываний вообще может оказаться не приемлем, потому как ресурс, доступ к которому разделяется, может сам работать через прерывания, например захватили uart, передали строку символов, освободили uart. Понятно, что разделить доступ к такому ресурсу через запрет прерываний нельзя.
Другое дело, когда надо сделать действие, достаточно короткое и быстрое, но требующее также гарантий ограничения доступа к этом ресурсу. Например, работа со связанными списками. Вставка элемента списка в цепочку должна быть сделана в критической секции. Но пользование в этом случае системных сервисов ОС (типа мютексов) - нецелесообразно, потому как накладные расходы возрастут раз в 100 по сравнению с методом разрешения/запрещения прерываний.
И совсем другое дело, когда говорится о критических секциях, используемых в самой ОС, то есть когда сервисы ОС прописываются. Здесь термин "критическая секция" как раз всегда означает запрещение прерываний. А речь как раз о них и была (выше по теме).
У меня терминология (моя локальная) устоялась так, что критической секцией я называю секцию, где запрещены прерывания, и не важно, используется в проекте ОС или нет.


Цитата(sensor_ua @ Apr 21 2006, 13:44) *
Пока пороюсь поищу что такое #+0xC0, а то "чукча не читатель";)))
Может подскажете, где? А то ARM7TDMI Data Sheet (ARM DDI 0029E) не помогает...


#0xC0 маска для запрета IRQ и FIQ прерываний
Маска 0x80 для регистра CPSR - это запрет IRQ , а 0x40 - для запрета FIQ.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Electrovoicer   Требуется совет по выбору RTOS   Apr 18 2006, 19:16
- - vet   uCOS-II - распространённая, простая и нетребовател...   Apr 18 2006, 20:18
- - beer_warrior   ЦитатаНа сайте можно взять готовые шаблоны проекто...   Apr 18 2006, 20:58
- - Evgeny_CD   Еще можно посоветовать Tasking Library из CrossWor...   Apr 18 2006, 21:37
|- - dch   eCos тоже хвалят ...Я не приминул пригласить его ...   Apr 18 2006, 22:29
|- - alogvinov   Цитата(dch @ Apr 19 2006, 02:29) eCos тож...   Apr 19 2006, 04:47
- - DASM   а embOS от UCOS вообще отличается ? Уж больно похо...   Apr 19 2006, 05:11
|- - alogvinov   Цитата(DASM @ Apr 19 2006, 09:11) а embOS...   Apr 19 2006, 09:31
|- - Andy Mozzhevilov   Цитата(alogvinov @ Apr 19 2006, 15:31) Ци...   Apr 19 2006, 12:18
|- - alogvinov   Цитата(Andy Mozzhevilov @ Apr 19 2006, 16...   Apr 20 2006, 05:26
|- - Andy Mozzhevilov   Цитата(alogvinov @ Apr 20 2006, 11:26) По...   Apr 20 2006, 05:34
|- - DASM   Цитата(alogvinov @ Apr 20 2006, 09:26) Ци...   Apr 20 2006, 06:24
|- - dxp   Цитата(alogvinov @ Apr 20 2006, 12:26) По...   Apr 20 2006, 06:30
|- - alogvinov   Цитата(dxp @ Apr 20 2006, 10:30) Цитата(a...   Apr 20 2006, 10:15
- - Electrovoicer   Всем спасибо, буду щупать uCOS-II. на местном фтп ...   Apr 19 2006, 05:48
- - Electrovoicer   а CrossWorks не надо, и все иже с ним. Я с этим со...   Apr 19 2006, 06:01
- - volkanaft   http://www.caxapa.ru/echo/arm.html?id=53619...   Apr 19 2006, 09:22
- - DASM   мужики, вы правда зря Nucleus игнорируете.. неплох...   Apr 19 2006, 09:54
|- - alogvinov   Цитата(DASM @ Apr 19 2006, 13:54) мужики,...   Apr 20 2006, 04:30
- - sensor_ua   А я решил в попытке решения подобной задачи (LPC21...   Apr 19 2006, 10:14
|- - zltigo   Цитата(sensor_ua @ Apr 19 2006, 13:14) А ...   Apr 19 2006, 18:27
|- - sensor_ua   Цитата(zltigo @ Apr 19 2006, 21:27) Цитат...   Apr 20 2006, 09:36
|- - zltigo   Цитата(sensor_ua @ Apr 20 2006, 12:36) В ...   Apr 20 2006, 16:44
|- - dxp   Цитата(zltigo @ Apr 20 2006, 23:44) Тепер...   Apr 21 2006, 05:42
|- - zltigo   Цитата(dxp @ Apr 21 2006, 08:42) А зачем ...   Apr 21 2006, 06:20
|- - dxp   Цитата(zltigo @ Apr 21 2006, 13:20) -Безб...   Apr 21 2006, 06:54
|- - zltigo   Цитата(dxp @ Apr 21 2006, 09:54) Ну да, т...   Apr 21 2006, 07:25
|- - dxp   Цитата(zltigo @ Apr 21 2006, 14:25) Ну а ...   Apr 21 2006, 09:23
|- - zltigo   В какую-то параною скатывается разговор. Почему _...   Apr 21 2006, 15:45
- - Electrovoicer   так... а в uCOS-II какое количество задач поддержи...   Apr 19 2006, 10:18
- - vet   64 задачи. Да, должны быть разными; впрочем, лично...   Apr 19 2006, 10:54
- - jasper   Цитата64 задачи. Начиная с версии 2.80 255!...   Apr 19 2006, 11:54
|- - Andy Mozzhevilov   Цитата(jasper @ Apr 19 2006, 17:54) Цитат...   Apr 19 2006, 12:06
- - Electrovoicer   кстати а программу для мониторинга висящих задач/з...   Apr 19 2006, 12:53
|- - Evgeny_CD   Цитата(Electrovoicer @ Apr 19 2006, 16:53...   Apr 19 2006, 20:02
|- - Andy Mozzhevilov   Цитата(Evgeny_CD @ Apr 20 2006, 02:02) Ци...   Apr 20 2006, 02:52
- - DASM   FTP лежит, но думаю вот это оно http://www.segger....   Apr 20 2006, 03:20
- - Electrovoicer   спасибо! и все же что такое C-SPY?   Apr 20 2006, 04:52
- - jasper   Цитатаи все же что такое C-SPY? Так называется деб...   Apr 20 2006, 05:13
- - Evgeny_CD   Если я ничего не путаю, в uCOS 2.81 появилась реал...   Apr 20 2006, 09:10
- - DASM   нифигаааа не понял......   Apr 20 2006, 09:43
- - sensor_ua   В TNKernel и uCOS-II сохраняется регистр статуса и...   Apr 20 2006, 09:51
- - sensor_ua   Специально скачал последнюю FreeRTOS 4.0.1, а то р...   Apr 20 2006, 17:50
- - zltigo   Цитата(sensor_ua @ Apr 20 2006, 20:50) са...   Apr 20 2006, 18:54
|- - sensor_ua   Цитата(zltigo @ Apr 20 2006, 21:54) Цитат...   Apr 20 2006, 19:04
- - zltigo   Цитата(sensor_ua @ Apr 20 2006, 22:04) Ну...   Apr 20 2006, 19:28
|- - sensor_ua   Цитата(zltigo @ Apr 20 2006, 22:28) Цитат...   Apr 20 2006, 20:12
- - zltigo   Цитата(sensor_ua @ Apr 20 2006, 23:12) На...   Apr 20 2006, 20:51
|- - sensor_ua   Цитата(zltigo @ Apr 20 2006, 23:51) Цитат...   Apr 21 2006, 07:44
- - DASM   объясните неразумному, почему EnterCriticalSection...   Apr 21 2006, 05:46
|- - Andy Mozzhevilov   Цитата(DASM @ Apr 21 2006, 11:46) объясни...   Apr 21 2006, 05:58
- - DASM   а мне всегда казалось, что назначение критических ...   Apr 21 2006, 06:01
|- - Andy Mozzhevilov   Цитата(DASM @ Apr 21 2006, 12:01) а мне в...   Apr 21 2006, 06:26
- - vet   назначение критических секций - не допустить однов...   Apr 21 2006, 06:35
- - DASM   Andy , ты перепутал семафор с мьютексом. К тому же...   Apr 21 2006, 06:43
|- - zltigo   Цитата(DASM @ Apr 21 2006, 09:43) Дж.Рихт...   Apr 21 2006, 06:48
|- - Andy Mozzhevilov   Цитата(DASM @ Apr 21 2006, 12:43) Andy , ...   Apr 21 2006, 06:50
- - DASM   Извините за ошибки распознования текста finereader...   Apr 21 2006, 06:51
- - DASM   ДАЕШЬ 64-битную WIndows в embedded !!!   Apr 21 2006, 06:58
- - Electrovoicer   мда... я примерно одно слово понял из всего написа...   Apr 21 2006, 07:29
- - DASM   не всякий автомобилист знает, как устроена автомат...   Apr 21 2006, 07:31
- - DASM   ну так еще бы Рихтер был не прав..   Apr 21 2006, 07:37
- - vet   http://en.wikipedia.org/wiki/Critical_section   Apr 21 2006, 07:42
|- - DASM   Цитата(vet @ Apr 21 2006, 11:42) http://e...   Apr 21 2006, 07:45
|- - dxp   Цитата(DASM @ Apr 21 2006, 14:45) Цитата(...   Apr 21 2006, 09:40
- - vet   Продолжаю цитирование. A solution to the critical ...   Apr 21 2006, 07:57
- - DASM   Продолжу несогласие, Критическая секция защишает Р...   Apr 21 2006, 07:58
- - zltigo   Цитата(sensor_ua @ Apr 21 2006, 10:44) Во...   Apr 21 2006, 08:02
- - vet   DASM Ресурс можно защищать и мьютексами, они для э...   Apr 21 2006, 08:04
- - DASM   тогда предлагаю прямо и говорить "я называю к...   Apr 21 2006, 08:13
- - sensor_ua   У меня железка с неким ногодрыганием, устроенным т...   Apr 21 2006, 08:20
|- - Andy Mozzhevilov   Цитата(sensor_ua @ Apr 21 2006, 14:20) Пр...   Apr 21 2006, 08:42
|- - zltigo   Цитата(sensor_ua @ Apr 21 2006, 11:20) У ...   Apr 21 2006, 16:17
|- - sensor_ua   Цитата(zltigo @ Apr 21 2006, 19:17) Цитат...   Apr 21 2006, 16:23
|- - zltigo   Цитата(sensor_ua @ Apr 21 2006, 19:23) Я ...   Apr 21 2006, 16:32
|- - sensor_ua   Цитата(zltigo @ Apr 21 2006, 19:32) Цитат...   Apr 21 2006, 17:05
|- - zltigo   Цитата(sensor_ua @ Apr 21 2006, 20:05) Я ...   Apr 21 2006, 19:06
|- - sensor_ua   Цитата(zltigo @ Apr 21 2006, 22:06) Цитат...   Apr 21 2006, 19:45
|- - zltigo   Цитата(sensor_ua @ Apr 21 2006, 22:45) Жа...   Apr 21 2006, 20:19
- - sensor_ua   ЦитатаНу, это значит "не минус" smile.gi...   Apr 21 2006, 08:46
- - zuy   to: Andy Mozzhevilov Действительно реализация кри...   Apr 21 2006, 08:49
- - DASM   правильно, конкуренции нет, но КУСОК КОДА то испол...   Apr 21 2006, 08:56
- - zuy   Ааааа, все, понял к чему пример. Как раз к прерыва...   Apr 21 2006, 09:01
- - DASM   1) У всех этих экземпляров естественно один и тотж...   Apr 21 2006, 09:47
- - yuri_t   Дело все в том,что понятие критическая секция ( мо...   Apr 21 2006, 09:53
- - yuri_t   И еще: IMHO, пользователь любой ОS от Windows/Li...   Apr 21 2006, 12:22
|- - Evgeny_CD   Цитата(yuri_t @ Apr 21 2006, 16:22) IMHO,...   Apr 21 2006, 12:47
- - DASM   одобрям-с =)   Apr 21 2006, 12:27
- - sensor_ua   2 yuri_t о TNKernel в текущем релизе int tn_cpu_...   Apr 21 2006, 15:13
- - sensor_ua   2 zltigo У меня насчёт правильности запрещения/ра...   Apr 21 2006, 16:08
- - DASM   Читаю, нервно хихикаю :-) Надеюсь автор поста полу...   Apr 21 2006, 16:23
- - yuri_t   To sensor_ua ------------------- Учитывая Ваш и...   Apr 21 2006, 16:36
|- - sensor_ua   Цитата(yuri_t @ Apr 21 2006, 19:36) To se...   Apr 21 2006, 17:15
- - yuri_t   To sensor_ua ------------------- Ситуация, когда...   Apr 21 2006, 17:33
|- - sensor_ua   Цитата(yuri_t @ Apr 21 2006, 20:33) To se...   Apr 21 2006, 18:07
- - yuri_t   Когда я писал "Например Visual C/C++ 6 (Micro...   Apr 21 2006, 18:24
- - DASM   по-моему глюк с областью видимостью наблюдался у V...   Apr 21 2006, 18:28
- - yuri_t   To DASM ------------ Вы правы.   Apr 21 2006, 18:53
2 страниц V   1 2 >


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

 


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


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