19.04.2017, 20:00
|
|
Частый гость
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
FreeRTOS?? Разобраться с демо проектом??
Скачал архив, разбираюсь с демо проектом для STM. Написано много и ничего сразу не понятно. Как создавать задачи и что они делают? Чето гдето почитал что задачи должны делаться в бесконечных циклах. Кто может что посоветовать?
Как запустить TreeRTOS, как организовать проект?
У кого какие мнения по поводу RTOS нужна ли она?
|
|
|
|
19.04.2017, 20:22
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Нууу чтобы начать что-то понимать в операционках, надо конечно же почитать про них материалы, их в сети хватает, я и сам читал тоже. Гуглопоиск по FreeRTOS, есть неплохие материалы вот тут: http://microsin.net/programming/arm/freertos-part1.html или вот тут: https://ru.wikipedia.org/wiki/FreeRTOS (внизу список литературы)
Установить и подключить FreeRTOS в проект просто: из распакованного архива берем папку Source и копируем ее целиком в папку проекта. Затем уже там заходим в папку \Source\portable и удаляем оттудава все папки, за исключением папки с названием вашего компилятора, например GCC, и папки MemMang. Далее, из папки с именем компилятора (GCC) удаляем все, кроме папки с именем ядра вашего МК, например ARM_CM3. (суффикс MPU означает модуль защиты памяти). После этого в папке MemMang оставляем один из файлов heap_x.c, это разные варианты модуля распределения памяти. Подробно написано на оф.сайте - файлик с ссылкой там лежит. Вкратце, самый простой вариант - heap_1.c, без всяких излишеств и не поддерживающий освобождение памяти при удалении задач или очередей, для начала сойдет. Самый навороченный - heap_5.c, это уже для дополнительной внешней ОЗУ. Промежуточные, heap_2.c или heap_4.c - с поддержкой освобождения памяти. heap_3.c - обычные malloc() и free().
Вот, теперь в проекте подключаем целиком папку с операционкой, указав что там есть исходники, и в main.c подключаем заголовочные файлы ядра, например вот так:
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "timers.h"
Теперь нужен файл FreeRTOSConfig.h, его можно скопировать из демо-проекта и поместить в папку главных исходников проекта. Инфа по настройке и содержимому этого файла есть на оф.сайте.
Ну вот и всё, операционка подключена к проекту и готова к использованию. Как только обратитесь в первый раз к функциям FROS, начнется ее использование.
Подробности расписаны в статьях довольно хорошо, нет смысла тут долго объяснять.
Что касается того, нужна ли операционка... Нуууу эээ если у вас всё работает как надо без нее, значит она и не нужна в этом случае. Операционка не дает никаких сверхспособностей или ускорения. Наоборот, отнимает часть производительности. Например, классический пример с частотой МК 8 МГц и частотой переключения задач 1 кГц отнимает процентов 10-15 производительности по сравнению с обычным вариантом. Значит, надо повышать частоту МК или понижать частоту переключения задач.
|
|
|
Эти 6 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
|
|
|
19.04.2017, 20:43
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Ответ на вопрос в необходимости кроется в понимании принципов работы. Так что тут лучше немного покурить мануалы по RTOS вообще и FreeRTOS в частности. Потом будет понимание делаемого и не будет большого потока вопросов. На схеме вопрос-ответ изучение почти бессмысленно - большой объём информации необходим, явно не для форума. Так что обложитесь на время книгами и потом уже можно и с вопросами, и попыткой использования.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
19.04.2017, 20:46
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Сообщение от MoonLate
|
У кого какие мнения по поводу RTOS нужна ли она?
|
ИМХО, раз такой вопрос - она Вам не нужна. "Не тратьте, куме, сили"
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
19.04.2017, 21:31
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Информация не такая уж и объемная. Че там, задачи - эт сами исполняемые функции, очереди и семафоры - для обмена данными между задачами, мьютексы - регулируют очередность доступа периферии или чему-то еще, ну и планировщик (диспетчер) задач. Да и функционал не шибко то большой. Сводится в основном к созданию/удалению объекта (задачи, очереди, семафора) и к управлению им - приостановка/возобновление, отправка/прием, проверка статуса...
|
|
|
|
19.04.2017, 21:40
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
|
|
|
19.04.2017, 21:48
|
|
Частый гость
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Благодарю за ссылки, сижу читаю.
Да, нужно. Хочу разобраться
|
|
|
|
19.04.2017, 23:58
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Удачи в изучении. С пониманием придёт и осознание необходимости. Но некоторые вещи определённо станут понятнее.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
20.04.2017, 23:11
|
|
Частый гость
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
Читаю статьи, стало гораздо понятнее че к чему, попробовал саздавать задачи.
Есть вопрос по передаче параметра в задачу из переменной и главное получению параметра в эту задачу. Кому не сложно чирканите плиз примерчик с коментами если можно, как с этими задачами обращаться.
Спасибо заранее
|
|
|
|
20.04.2017, 23:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: FreeRTOS?? Разобраться с демо проектом??
|
|
|
Сказали "Спасибо" dgrishin
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:06.
|
|