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

 
 
 
Reply to this topicStart new topic
> Минимальные требования FreeRTOS, Память
PeterD
сообщение Jul 18 2016, 14:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 26-10-07
Пользователь №: 31 743



Пытаюсь запустить FreeRTOS на CortexM0+, имеем в наличии 4096 байт ОЗУ. Выделяю половину под кучу, стек задачи 200 байт, задача создается успешно, но вот vTaskStartScheduler() запустит не может краха создания задачи IDLE, я так понимаю что то с памятью. Есть какие то требования минимальные к применению FreeRTOS. Спасибо.

Сообщение отредактировал PeterD - Jul 18 2016, 14:03
Go to the top of the page
 
+Quote Post
gazpar
сообщение Jul 18 2016, 14:47
Сообщение #2


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

Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952



Цитата(PeterD @ Jul 18 2016, 17:03) *
Пытаюсь запустить FreeRTOS на CortexM0+, имеем в наличии 4096 байт ОЗУ. Выделяю половину под кучу, стек задачи 200 байт, задача создается успешно, но вот vTaskStartScheduler() запустит не может краха создания задачи IDLE, я так понимаю что то с памятью. Есть какие то требования минимальные к применению FreeRTOS. Спасибо.

Вот здесь описаны минимальные требования по памяти.
Вот здесь описаны методы для проверки переполнения стэка и ещё несколько "хуков".
Важно: если используете прерывания, то их приоритет должен быть минимальным.

Сообщение отредактировал gazpar - Jul 18 2016, 14:49
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Jul 18 2016, 14:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало.
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 18 2016, 15:13
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



FreeRTOS на CortexM0+ может и хороша, но по мне много она отъедает и требует, отказался. И так проц CortexM0+ с малыми ресурсами, куда ему еще осью заниматься. Особенно если требуется малое потребление, FreeRTOS лишний едок.
Go to the top of the page
 
+Quote Post
PeterD
сообщение Jul 18 2016, 16:23
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 26-10-07
Пользователь №: 31 743



Цитата(Kabdim @ Jul 18 2016, 17:54) *
Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало.

Запустилась как только стек задач убрал в 64 байта. Хотя с 4к не развернешься точно.

Цитата(Aner @ Jul 18 2016, 18:13) *
FreeRTOS на CortexM0+ может и хороша, но по мне много она отъедает и требует, отказался. И так проц CortexM0+ с малыми ресурсами, куда ему еще осью заниматься. Особенно если требуется малое потребление, FreeRTOS лишний едок.

Вроде SysTick timer есть быстродействие есть, памяти мало но это я с чипом промахнулся поставил ниже среднего но можно 32к поставить, просто свою флаго дрыголку лень писать.

Цитата(gazpar @ Jul 18 2016, 17:47) *
Вот здесь описаны минимальные требования по памяти.
Вот здесь описаны методы для проверки переполнения стэка и ещё несколько "хуков".
Важно: если используете прерывания, то их приоритет должен быть минимальным.

Спасибо!
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jul 18 2016, 18:14
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



РТОСы в моде. Их стараются впихнуть в невпихуемое. Неважно что РТОС займет большую часть ресурсов, ведь без нее же нельзя!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 18 2016, 21:45
Сообщение #7


Гуру
******

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



QUOTE (jorikdima @ Jul 18 2016, 21:14) *
РТОСы в моде. Их стараются впихнуть в невпихуемое. Неважно что РТОС займет большую часть ресурсов, ведь без нее же нельзя!

Она НЕ занимает большую часть ресурсов. У меня есть некоторое количество железок еще на старых LPC210x - начиная с 2K RAM.
Задач там немного, но просто удобно было практически готовые вещи портировать со старших контроллеров. Ну а ресурсы памяти, как раз благодаря менеджеру памяти и экономились.


QUOTE (Aner @ Jul 18 2016, 18:13) *
Особенно если требуется малое потребление, FreeRTOS лишний едок.

RTOS не лишний едок, ибо все его потребление ресурсов это такты на переключение контекста - не будет система сделана так, что будет заниматься в основном преключениями, не будет и "лишнего" потребления. Бонусом получается унифицированный вариант энергосбережения - спать в Idle.
Если, коечно, мыслить категориями "контролера светодиода", то тогда коечно ни RTOS ни сам контролер не нужен sm.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Valentine Logino...
сообщение Jul 19 2016, 07:07
Сообщение #8


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

Группа: Участник
Сообщений: 78
Регистрация: 7-04-10
Из: Пушкино
Пользователь №: 56 462



Если проблемы с памятью, то должен вызываться соответсвующий hook фриртоски. Начните проверку с этого.
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 19 2016, 08:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (zltigo @ Jul 19 2016, 00:45) *
Она НЕ занимает большую часть ресурсов. У меня есть некоторое количество железок еще на старых LPC210x - начиная с 2K RAM.
Задач там немного, но просто удобно было практически готовые вещи портировать со старших контроллеров. Ну а ресурсы памяти, как раз благодаря менеджеру памяти и экономились.



RTOS не лишний едок, ибо все его потребление ресурсов это такты на переключение контекста - не будет система сделана так, что будет заниматься в основном преключениями, не будет и "лишнего" потребления. Бонусом получается унифицированный вариант энергосбережения - спать в Idle.
Если, коечно, мыслить категориями "контролера светодиода", то тогда коечно ни RTOS ни сам контролер не нужен sm.gif

В своем проекте с STM32L05, L07 делал оценку ресурсов полагал использовать RTOS, поставил, затем задачу написал без RTOS, экономия получилась приличная. Никакой надобности в RTOS не обнаружил, тем более что в задаче есть жесткие протокольные тайминги, чего RTOS не позволяла обеспечить без задирания тактовой. Что и повышало потребление. Да и не причем тут бонусы, задача и так использует слип режимы, если режим малого потребления требуется обеспечить, иначе никак.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 19 2016, 13:24
Сообщение #10


Гуру
******

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



QUOTE (Aner @ Jul 19 2016, 11:32) *
В своем проекте с STM32L05, L07 делал оценку ресурсов полагал использовать RTOS, поставил, затем задачу написал без RTOS, экономия получилась приличная. Никакой надобности в RTOS не обнаружил, тем более что в задаче есть жесткие протокольные тайминги, чего RTOS не позволяла обеспечить без задирания тактовой. Что и повышало потребление. Да и не причем тут бонусы, задача и так использует слип режимы, если режим малого потребления требуется обеспечить, иначе никак.

Причины не использовать RTOS, конечно могут быть. И абсолютные максимумы, минимумы и оптимумы затрат ФИЗИЧЕСКИХ ресурсов для решения какой либо задачи достигаются только индивидуальным выпиливанием из куска нефрита. Любые унивесальные решения, к коим относятся и RTOS, естественно по затратам тех-же байтов, тактов и микроамепер, безусловно находятся в изначально проигрышном состоянии.
Но нежели есть хоть МАЛЕЙШИЙ выбор использовать, или не использовать RTOS, то следует использовать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 19 2016, 14:15
Сообщение #11


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kabdim @ Jul 18 2016, 17:54) *
Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало.

На MSP430 запускали, 2k - нормально.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
juvf
сообщение Sep 30 2016, 07:12
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



у меня на Atmega169 c 1 кб озу и 16 кб пзу freertos крутиться.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 17:29
Рейтинг@Mail.ru


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