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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Разбиение задачи на процессы
Harvester
сообщение Sep 19 2009, 09:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Добрый день.

Впервые приступаю к использованию RTOS и сразу же возник вопрос системного плана - как разбить свою задачу на процессы?
Примеры к любой оси очень уж простые и не дают полного понимания подхода.
У меня же устройство будет довольно сложным:
1. Работа с Ethernet.
2. Работа с 3-мя UART.
3. Работа с USB, как Host, так и Device, т.е. OTG
4. Обслуживание TFT-индикатора с тачскрином
5. Обслуживание светодиодов
6. Обработка аналоговых входов
7. Обработка дискретных входов
8. Ну и до кучи внешняя по отношению к МК FLASH-память

В общем все, что есть в Luminary LM3S9B90 rolleyes.gif

И как весь этот зоопарк организовать - даже не представляю crying.gif

Может кто поможет советом. Буду очень признателен.


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 19 2009, 09:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Harvester @ Sep 19 2009, 11:13) *
Примеры к любой оси очень уж простые и не дают полного понимания подхода.

А вообще к "осям" есть не только "примеры", но и документация. Читать надо. Ну и думать потом СВОЕЙ головой. После чего можно отдельные нюансы обсуждать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jam
сообщение Sep 19 2009, 21:31
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 792
Регистрация: 9-08-05
Из: Транай
Пользователь №: 7 474



У меня подход простой - каждому процессору свой процесс. И по одной плате добавлять в общую кучу. Это не экономично, но зато реально.
З.Ы Невольно вспоминается одна песня металлики...
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 19 2009, 21:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jam @ Sep 20 2009, 01:31) *
У меня подход простой - каждому процессору свой процесс. И по одной плате добавлять в общую кучу. Это не экономично, но зато реально.

Это не реально для хоть сколько-нибудь сложной задачи. Транспорты убьетесь писать и отлаживать.
Go to the top of the page
 
+Quote Post
jam
сообщение Sep 19 2009, 22:19
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 792
Регистрация: 9-08-05
Из: Транай
Пользователь №: 7 474



Цитата(aaarrr @ Sep 20 2009, 01:37) *
Это не реально для хоть сколько-нибудь сложной задачи. Транспорты убьетесь писать и отлаживать.

Увы - сложные задачи одному человеку не под силу - тут нужен коллектив.Предпочитаю разбить одну сложную задачу на много простых и потихоньку.... А там может кто присоединится и доведут до ума.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 19 2009, 22:58
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jam @ Sep 20 2009, 02:19) *
Увы - сложные задачи одному человеку не под силу - тут нужен коллектив.

Вовсе не обязательно.

Цитата(jam @ Sep 20 2009, 02:19) *
Предпочитаю разбить одну сложную задачу на много простых и потихоньку.... А там может кто присоединится и доведут до ума.

Одно дело разбить задачу на много простых, что, собственно, и является этапом решения, а другое - вводить по одному процессору на каждую подзадачу.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Sep 19 2009, 23:18
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Harvester @ Sep 19 2009, 12:13) *
как разбить свою задачу на процессы?

Подходы такие же, как при разбиении программы на модули, т.е. минимизация логических связей между автономными процессами.
Go to the top of the page
 
+Quote Post
jam
сообщение Sep 20 2009, 01:37
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 792
Регистрация: 9-08-05
Из: Транай
Пользователь №: 7 474



Цитата(_Pasha @ Sep 20 2009, 03:18) *
Подходы такие же, как при разбиении программы на модули, т.е. минимизация логических связей между автономными процессами.

Ну по-крайней мере три первых пункта я бы вынес в отдельный процессор - не вяжутся они с RTOS. А всё остальное можно в ось. А 8-ой пункт это наверно USB флешка?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2009, 11:59
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jam @ Sep 20 2009, 05:37) *
Ну по-крайней мере три первых пункта я бы вынес в отдельный процессор - не вяжутся они с RTOS.
Обосновать можете?
Go to the top of the page
 
+Quote Post
Harvester
сообщение Sep 20 2009, 12:16
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(zltigo @ Sep 19 2009, 13:35) *
А вообще к "осям" есть не только "примеры", но и документация. Читать надо. Ну и думать потом СВОЕЙ головой. После чего можно отдельные нюансы обсуждать.

При всём уважении к Вам, я не собирался обсуждать нюансы, по крайней мере, не в этом посте rolleyes.gif . Я только хотел услышать о методике решения подобных задач.
А по поводу документации... Возьмем руководство пользователя к типичной ОС:
- управление задачами, временем, памятью
- синхронизция процессов и межпроцессный обмен
- руководство по системному API

То есть описывается КАК это работает, но нет ни слова по интересующему меня вопросу.

Цитата(jam @ Sep 19 2009, 05:37)
А 8-ой пункт это наверно USB флешка?

Нет, имелось в виду пара-тройка микросхем FLASH на SPI


PS. Может перенести эту тему в раздел "для начинающих"? Не думаю, что я единственный у кого возникает подобный вопрос.
PPS. Кстати, мне так и не удалось найти полного руководство по любимой всеми uc/OS-II wassat.gif


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 20 2009, 13:40
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Harvester @ Sep 20 2009, 14:16) *
А по поводу документации... Возьмем руководство пользователя к типичной ОС:

Так возьмите НЕ типичное. Хотя и типичное, например, на FreeRTOS содержит раздел "Design Tips" не говоря уже uC/OS к которой в довесок идут горы мукалатуры..
Цитата
Не думаю, что я единственный у кого возникает подобный вопрос.

Да,да ознакомьтесь с форумом.
Цитата
Я только хотел услышать о методике решения подобных задач

Методика стара, как Мир -задачи, минимум на 50% решатся собственной головой, после чего задаются вопросы.


Цитата(aaarrr @ Sep 20 2009, 13:59) *
Обосновать можете?

Вы же понимаете, что не сможет sad.gif ничего обосновать.. Хотя уровень "ответа" полностью соответствует уровню "вопроса"
- Петька - прибор!
- 50
- Что 50?
- А что прибор?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Harvester
сообщение Sep 20 2009, 15:50
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(zltigo @ Sep 20 2009, 17:40) *
...Хотя и типичное, например, на FreeRTOS содержит раздел "Design Tips" ...


Огромное спасибо за наводку, раньше я этого раздела как-то не замечал. Даже стыдно 01.gif

И опять же, по поводу ucOS - во всех архивах, которые мне удалось нарыть на просторах Интернет, из документации были только файлы, описывающие характерные отличия конкретного порта, а полноценного User Guide я так и не увидел. Не сочтите за нахальство, но не могли бы Вы дать ссылку на такой документ?


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Sep 20 2009, 16:10
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Цитата(Harvester @ Sep 20 2009, 18:50) *
И опять же, по поводу ucOS - во всех архивах, которые мне удалось нарыть на просторах Интернет, из документации были только файлы, описывающие характерные отличия конкретного порта, а полноценного User Guide я так и не увидел. Не сочтите за нахальство, но не могли бы Вы дать ссылку на такой документ?

Могу предложить почитать книгу "uCOS, The Real-Time Kernel.pdf"
Go to the top of the page
 
+Quote Post
Harvester
сообщение Sep 20 2009, 18:50
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(Artem_Petrik @ Sep 20 2009, 20:10) *
Могу предложить почитать книгу "uCOS, The Real-Time Kernel.pdf"

Спасибо, читаю. Я просто думал, что есть еще что-нибудь


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
vladik
сообщение Sep 21 2009, 11:01
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 18-05-06
Пользователь №: 17 226



Я во FreeRTOS делал отдельно поток для Ethernet (uIP), для UART, и один поток для PIO - светодиоды, зуммер. При проектировании я считаю надо вначале на бумаге выделить модули программы, если между ними возможно синхронное взаимодействие - то в один процесс, если проще асинхронное - тогда в разные.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 23:29
Рейтинг@Mail.ru


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