|
Особенности построения ПО c использованием RTOS, Взаимодействия между отдельными задачами, событиями ??? |
|
|
|
May 13 2014, 13:41
|

Участник

Группа: Участник
Сообщений: 27
Регистрация: 7-04-14
Пользователь №: 81 265

|
Доброго времени суток! По немногу разбираюсь с freeRTOS. До этого использовал архитектуру: "Суперцикл+прерывания". Интересуют особенности построения архитектуры ПО с ее использованием. Т.е. "Как наиболее грамотно и рационально произвести взаимодействия между отдельными задачами, событиями ". В учебных целях (а в случае успеха и "сугубо индивидуальных меркантильных планах автора "  ) было решено разработать проект GPS трекера для автомобиля. В кратце: Планируется использовать несколько цифровых и аналоговых GPIO. Повесить датчики на стандартные интерфейсы(I2С,SPI,UART,1-Wire). Использовать несколько каналов АЦП и т.д. Для ведения "event log" планирую какую нибудь внутреннюю память (FSMC или SPI Serial Flash -- еще не определился), а также microSD-card. С помощью GSM модуля данные будут передаваться на сервер. В качестве отладочных стендов использую STM32f103RET6 от "Terraelectronica", SIM68v и sim900 от SimCom. Идею обрисовал , теперь ближе к делу. Поставил RTOS, прикрутил задачу взаимодействия с GPS , установил FatFs от Чана (SDIO) , пишу лог NMEA сообщений на microSD. Но это сейчас все в одной задаче. Чтобы было видно, что RTOS не завис, параллельная задача мигает диодом . Дальше необходимо организовать сбор данных с других ресурсов --- GPIO,АЦП, I2C . И вот тут у меня как у начинающего и возник вопрос --- Как с помощью freeRTOS наиболее рационально и целесообразно осуществить сбор данных с разных ресурсов микроконтроллера и осуществить их запись по протоколу в память?(Передачу по GSM пока не трогаем, хотя и подразумеваем что она будет осуществляться в дальнейшем.) А хочу я от вас я хочу ответы по типу: 1) Высокоприоритетные задачи обработки периферии с использованием соответствующих прерываний собирают данные. Используя механизмы семафоров и очередей передают их низкоприоритетной задаче, которая собрав все необходимые данные пишет их на SD карту. 2)Высокоприоритетные задачи обрабатывают данные и каждая пишет свой собственный лог в буффер во flash памяти(возможно даже дублирует). Низкоприоритетная задача читает все эти логи и пишет на SD card. 3) Ваш способ + обоснование "Почему так".
|
|
|
|
|
 |
Ответов
|
May 13 2014, 14:35
|

Участник

Группа: Участник
Сообщений: 27
Регистрация: 7-04-14
Пользователь №: 81 265

|
Цитата(iosifk @ May 13 2014, 17:23)  Так напишите письмо с благодарностью к Курницу и его об этом и спросите, он то точно в теме... Послушайте, уважаемый. Я понимаю, что повышение собственной важности, посредством издевок над новичками, является элементом самоутверждения у некоторых индивидуумов. Если вы не желаете помочь,так хотя-бы не мешайте. или я вас чем-то обидел? Обоснуйте
Сообщение отредактировал Asteo - May 13 2014, 14:37
|
|
|
|
|
May 13 2014, 14:50
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Asteo @ May 13 2014, 18:35)  Я понимаю, что повышение собственной важности, посредством издевок над новичками, является элементом самоутверждения у некоторых индивидуумов.
Если вы не желаете помочь,так хотя-бы не мешайте. или я вас чем-то обидел? Обоснуйте Совсем все мне странно... Где здесь "посредством издевок над новичками"??? Я уж не пишу про "является элементом... и т.д."... Молодой человек, о чем Вы? Мне это уже давно не нужно... А если по делу, то вот так: Когда мне пишут читатели, то я всегда отвечаю на их письма. И делаю это довольно давно. Да, что Вы не читатель журнала КиТ - это мне понятно... А вот то, что Вы в поисковике не нашли статей Курница - вот это меня сильно удивило... Соответственно я Вам об этом и написал. И в чем проблема написать хорошему автору и у него спросить совета???
--------------------
www.iosifk.narod.ru
|
|
|
|
|
May 13 2014, 15:15
|

Участник

Группа: Участник
Сообщений: 27
Регистрация: 7-04-14
Пользователь №: 81 265

|
Цитата(iosifk @ May 13 2014, 17:50)  Совсем все мне странно... Где здесь "посредством издевок над новичками"??? Я уж не пишу про "является элементом... и т.д."... Молодой человек, о чем Вы? Мне это уже давно не нужно... А если по делу, то вот так: Когда мне пишут читатели, то я всегда отвечаю на их письма. И делаю это довольно давно. Да, что Вы не читатель журнала КиТ - это мне понятно... А вот то, что Вы в поисковике не нашли статей Курница - вот это меня сильно удивило... Соответственно я Вам об этом и написал. И в чем проблема написать хорошему автору и у него спросить совета??? Статьи я прочел в первую очередь. Потом взялся за практику. На ваш совет почитать их, поблагодарил. Дошел до определенного момента, задал вопрос сообществу. Опыта общения на форумах у меня мало, признаю--не удается кратко и лаконично задавать правильные вопросы. Если у вас не было глупых намерений, извините ради Бога. Мне ваша манера показалась "поверхностной". Прошу личное в этой теме больше не обсуждать. Здесь все взрослые люди, не только вы. Цитата(AlexandrY @ May 13 2014, 17:36)  Если файловая система однозадачная, то придется дописывать задачу менеджер очередей для файловой системы.
Я использовал многозадачную файловую систему, и там любая задача могла свободно вести свой лог. Я использую FatFs от Elm Chan'a. Она кстати является каковой? Для меня это вопрос более познавательный, нежели насущный. Поскольку в своем проекте я планирую использовать один файл суммарного лога. А логи задач планирую вести без использования файловых систем. Предварительно создав несколько буферов (FIFO или Кольцевых) во внешней Flash. Опять-же, если это целесообразно, и нет более изящного способа.
Сообщение отредактировал Asteo - May 13 2014, 15:15
|
|
|
|
|
May 15 2014, 19:09
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Asteo @ May 13 2014, 18:15)  Я использую FatFs от Elm Chan'a. Она кстати является каковой? Хороший вопрос. По идее на него вам надо было ответить еще до того как портировать FatFS Кольцевые буферы во FLASH это скорее всего будет изобретение велосипеда. Придется все равно решать проблему одновременного доступа нескольких задач к FLASH, получить при этом проблемы с неопределенностью времени доступа. В результате будет непредсказуемое взаимовлияние одних задач на другие. В этом плане удобны многопоточные FS на RAM. Кстати в MQX уже есть файловая система для Flash/NAND. Они гораздо более детерминированы в плане времени операций чем FS на SD картах.
|
|
|
|
Сообщений в этой теме
Asteo Особенности построения ПО c использованием RTOS May 13 2014, 13:41 iosifk Цитата(Asteo @ May 13 2014, 17:41)
На са... May 13 2014, 14:03 AlexandrY Цитата(Asteo @ May 13 2014, 17:20) Спасиб... May 13 2014, 14:36 Jekin При использовании RTOS первый путь наиболее рацион... May 13 2014, 14:36 Jekin Цитата(AlexandrY @ May 15 2014, 22:09) Ко... May 16 2014, 08:35 AlexandrY Цитата(Jekin @ May 16 2014, 11:35) Asteo ... May 16 2014, 09:13  Asteo Цитата(AlexandrY @ May 16 2014, 12:13) Чт... May 17 2014, 03:02  kolobok0 Цитата(AlexandrY @ May 16 2014, 13:13) ..... May 17 2014, 03:53 Rst7 Moderator: Господа, а особенно juvf, давайте без ... May 17 2014, 02:06 Jekin AlexandrY, на счет гибкости системы я с Вами согла... May 17 2014, 03:28 Asteo Jekin, Спасибо! Почитаю про RL-FlashFS. Ранее ... May 17 2014, 03:49 AlexandrY Цитата(Jekin @ May 17 2014, 10:38) Alexan... May 19 2014, 04:02 MiklPolikov Цитата(Jekin @ May 17 2014, 07:28) В сост... Jul 17 2014, 09:50 Asteo Вот здесь http://www.keil.com/support/man/docs/rla... May 17 2014, 05:39 Jekin Цитата(Asteo @ May 17 2014, 08:39) Каким ... May 17 2014, 05:51 Asteo Раньше использовал 4.73, сейчас перешел на 5.10.xx May 17 2014, 06:00 Jekin В новой версии Middleware подключается через ... May 17 2014, 06:09 Asteo Создал тему про Keil RL File System отдельно , даб... May 17 2014, 06:52 Asteo Цитата(kolobok0 @ May 17 2014, 11:03) сам... May 19 2014, 03:19 kolobok0 Цитата(Asteo @ May 19 2014, 11:29) ...осн... May 19 2014, 13:18 Asteo Доброго времени суток! В свободное время прод... Jul 14 2014, 10:37 grv Коллеги, поскажите.
Есть вполне увесистый проект н... Oct 4 2015, 12:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|