Harvester 0 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба Добрый день. Впервые приступаю к использованию RTOS и сразу же возник вопрос системного плана - как разбить свою задачу на процессы? Примеры к любой оси очень уж простые и не дают полного понимания подхода. У меня же устройство будет довольно сложным: 1. Работа с Ethernet. 2. Работа с 3-мя UART. 3. Работа с USB, как Host, так и Device, т.е. OTG 4. Обслуживание TFT-индикатора с тачскрином 5. Обслуживание светодиодов 6. Обработка аналоговых входов 7. Обработка дискретных входов 8. Ну и до кучи внешняя по отношению к МК FLASH-память В общем все, что есть в Luminary LM3S9B90 :rolleyes: И как весь этот зоопарк организовать - даже не представляю :crying: Может кто поможет советом. Буду очень признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба Примеры к любой оси очень уж простые и не дают полного понимания подхода. А вообще к "осям" есть не только "примеры", но и документация. Читать надо. Ну и думать потом СВОЕЙ головой. После чего можно отдельные нюансы обсуждать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jam 0 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба У меня подход простой - каждому процессору свой процесс. И по одной плате добавлять в общую кучу. Это не экономично, но зато реально. З.Ы Невольно вспоминается одна песня металлики... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба У меня подход простой - каждому процессору свой процесс. И по одной плате добавлять в общую кучу. Это не экономично, но зато реально. Это не реально для хоть сколько-нибудь сложной задачи. Транспорты убьетесь писать и отлаживать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jam 0 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба Это не реально для хоть сколько-нибудь сложной задачи. Транспорты убьетесь писать и отлаживать. Увы - сложные задачи одному человеку не под силу - тут нужен коллектив.Предпочитаю разбить одну сложную задачу на много простых и потихоньку.... А там может кто присоединится и доведут до ума. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба Увы - сложные задачи одному человеку не под силу - тут нужен коллектив. Вовсе не обязательно. Предпочитаю разбить одну сложную задачу на много простых и потихоньку.... А там может кто присоединится и доведут до ума. Одно дело разбить задачу на много простых, что, собственно, и является этапом решения, а другое - вводить по одному процессору на каждую подзадачу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 19 сентября, 2009 Опубликовано 19 сентября, 2009 · Жалоба как разбить свою задачу на процессы? Подходы такие же, как при разбиении программы на модули, т.е. минимизация логических связей между автономными процессами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jam 0 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба Подходы такие же, как при разбиении программы на модули, т.е. минимизация логических связей между автономными процессами. Ну по-крайней мере три первых пункта я бы вынес в отдельный процессор - не вяжутся они с RTOS. А всё остальное можно в ось. А 8-ой пункт это наверно USB флешка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба Ну по-крайней мере три первых пункта я бы вынес в отдельный процессор - не вяжутся они с RTOS.Обосновать можете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба А вообще к "осям" есть не только "примеры", но и документация. Читать надо. Ну и думать потом СВОЕЙ головой. После чего можно отдельные нюансы обсуждать. При всём уважении к Вам, я не собирался обсуждать нюансы, по крайней мере, не в этом посте :rolleyes: . Я только хотел услышать о методике решения подобных задач. А по поводу документации... Возьмем руководство пользователя к типичной ОС: - управление задачами, временем, памятью - синхронизция процессов и межпроцессный обмен - руководство по системному API То есть описывается КАК это работает, но нет ни слова по интересующему меня вопросу. А 8-ой пункт это наверно USB флешка? Нет, имелось в виду пара-тройка микросхем FLASH на SPI PS. Может перенести эту тему в раздел "для начинающих"? Не думаю, что я единственный у кого возникает подобный вопрос. PPS. Кстати, мне так и не удалось найти полного руководство по любимой всеми uc/OS-II :wassat: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба А по поводу документации... Возьмем руководство пользователя к типичной ОС: Так возьмите НЕ типичное. Хотя и типичное, например, на FreeRTOS содержит раздел "Design Tips" не говоря уже uC/OS к которой в довесок идут горы мукалатуры.. Не думаю, что я единственный у кого возникает подобный вопрос. Да,да ознакомьтесь с форумом. Я только хотел услышать о методике решения подобных задач Методика стара, как Мир -задачи, минимум на 50% решатся собственной головой, после чего задаются вопросы. Обосновать можете? Вы же понимаете, что не сможет :( ничего обосновать.. Хотя уровень "ответа" полностью соответствует уровню "вопроса" - Петька - прибор! - 50 - Что 50? - А что прибор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба ...Хотя и типичное, например, на FreeRTOS содержит раздел "Design Tips" ... Огромное спасибо за наводку, раньше я этого раздела как-то не замечал. Даже стыдно :01: И опять же, по поводу ucOS - во всех архивах, которые мне удалось нарыть на просторах Интернет, из документации были только файлы, описывающие характерные отличия конкретного порта, а полноценного User Guide я так и не увидел. Не сочтите за нахальство, но не могли бы Вы дать ссылку на такой документ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artem_Petrik 0 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба И опять же, по поводу ucOS - во всех архивах, которые мне удалось нарыть на просторах Интернет, из документации были только файлы, описывающие характерные отличия конкретного порта, а полноценного User Guide я так и не увидел. Не сочтите за нахальство, но не могли бы Вы дать ссылку на такой документ? Могу предложить почитать книгу "uCOS, The Real-Time Kernel.pdf" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 20 сентября, 2009 Опубликовано 20 сентября, 2009 · Жалоба Могу предложить почитать книгу "uCOS, The Real-Time Kernel.pdf" Спасибо, читаю. Я просто думал, что есть еще что-нибудь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swampman 0 21 сентября, 2009 Опубликовано 21 сентября, 2009 · Жалоба Я во FreeRTOS делал отдельно поток для Ethernet (uIP), для UART, и один поток для PIO - светодиоды, зуммер. При проектировании я считаю надо вначале на бумаге выделить модули программы, если между ними возможно синхронное взаимодействие - то в один процесс, если проще асинхронное - тогда в разные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться