PeterD 0 18 июля, 2016 Опубликовано 18 июля, 2016 (изменено) · Жалоба Пытаюсь запустить FreeRTOS на CortexM0+, имеем в наличии 4096 байт ОЗУ. Выделяю половину под кучу, стек задачи 200 байт, задача создается успешно, но вот vTaskStartScheduler() запустит не может краха создания задачи IDLE, я так понимаю что то с памятью. Есть какие то требования минимальные к применению FreeRTOS. Спасибо. Изменено 18 июля, 2016 пользователем PeterD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gazpar 1 18 июля, 2016 Опубликовано 18 июля, 2016 (изменено) · Жалоба Пытаюсь запустить FreeRTOS на CortexM0+, имеем в наличии 4096 байт ОЗУ. Выделяю половину под кучу, стек задачи 200 байт, задача создается успешно, но вот vTaskStartScheduler() запустит не может краха создания задачи IDLE, я так понимаю что то с памятью. Есть какие то требования минимальные к применению FreeRTOS. Спасибо. Вот здесь описаны минимальные требования по памяти. Вот здесь описаны методы для проверки переполнения стэка и ещё несколько "хуков". Важно: если используете прерывания, то их приоритет должен быть минимальным. Изменено 18 июля, 2016 пользователем gazpar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 18 июля, 2016 Опубликовано 18 июля, 2016 · Жалоба Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 6 18 июля, 2016 Опубликовано 18 июля, 2016 · Жалоба FreeRTOS на CortexM0+ может и хороша, но по мне много она отъедает и требует, отказался. И так проц CortexM0+ с малыми ресурсами, куда ему еще осью заниматься. Особенно если требуется малое потребление, FreeRTOS лишний едок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PeterD 0 18 июля, 2016 Опубликовано 18 июля, 2016 · Жалоба Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало. Запустилась как только стек задач убрал в 64 байта. Хотя с 4к не развернешься точно. FreeRTOS на CortexM0+ может и хороша, но по мне много она отъедает и требует, отказался. И так проц CortexM0+ с малыми ресурсами, куда ему еще осью заниматься. Особенно если требуется малое потребление, FreeRTOS лишний едок. Вроде SysTick timer есть быстродействие есть, памяти мало но это я с чипом промахнулся поставил ниже среднего но можно 32к поставить, просто свою флаго дрыголку лень писать. Вот здесь описаны минимальные требования по памяти. Вот здесь описаны методы для проверки переполнения стэка и ещё несколько "хуков". Важно: если используете прерывания, то их приоритет должен быть минимальным. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 18 июля, 2016 Опубликовано 18 июля, 2016 · Жалоба РТОСы в моде. Их стараются впихнуть в невпихуемое. Неважно что РТОС займет большую часть ресурсов, ведь без нее же нельзя! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 18 июля, 2016 Опубликовано 18 июля, 2016 · Жалоба РТОСы в моде. Их стараются впихнуть в невпихуемое. Неважно что РТОС займет большую часть ресурсов, ведь без нее же нельзя! Она НЕ занимает большую часть ресурсов. У меня есть некоторое количество железок еще на старых LPC210x - начиная с 2K RAM. Задач там немного, но просто удобно было практически готовые вещи портировать со старших контроллеров. Ну а ресурсы памяти, как раз благодаря менеджеру памяти и экономились. Особенно если требуется малое потребление, FreeRTOS лишний едок. RTOS не лишний едок, ибо все его потребление ресурсов это такты на переключение контекста - не будет система сделана так, что будет заниматься в основном преключениями, не будет и "лишнего" потребления. Бонусом получается унифицированный вариант энергосбережения - спать в Idle. Если, коечно, мыслить категориями "контролера светодиода", то тогда коечно ни RTOS ни сам контролер не нужен :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
becopt 0 19 июля, 2016 Опубликовано 19 июля, 2016 · Жалоба Если проблемы с памятью, то должен вызываться соответсвующий hook фриртоски. Начните проверку с этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 6 19 июля, 2016 Опубликовано 19 июля, 2016 · Жалоба Она НЕ занимает большую часть ресурсов. У меня есть некоторое количество железок еще на старых LPC210x - начиная с 2K RAM. Задач там немного, но просто удобно было практически готовые вещи портировать со старших контроллеров. Ну а ресурсы памяти, как раз благодаря менеджеру памяти и экономились. RTOS не лишний едок, ибо все его потребление ресурсов это такты на переключение контекста - не будет система сделана так, что будет заниматься в основном преключениями, не будет и "лишнего" потребления. Бонусом получается унифицированный вариант энергосбережения - спать в Idle. Если, коечно, мыслить категориями "контролера светодиода", то тогда коечно ни RTOS ни сам контролер не нужен :) В своем проекте с STM32L05, L07 делал оценку ресурсов полагал использовать RTOS, поставил, затем задачу написал без RTOS, экономия получилась приличная. Никакой надобности в RTOS не обнаружил, тем более что в задаче есть жесткие протокольные тайминги, чего RTOS не позволяла обеспечить без задирания тактовой. Что и повышало потребление. Да и не причем тут бонусы, задача и так использует слип режимы, если режим малого потребления требуется обеспечить, иначе никак. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 19 июля, 2016 Опубликовано 19 июля, 2016 · Жалоба В своем проекте с STM32L05, L07 делал оценку ресурсов полагал использовать RTOS, поставил, затем задачу написал без RTOS, экономия получилась приличная. Никакой надобности в RTOS не обнаружил, тем более что в задаче есть жесткие протокольные тайминги, чего RTOS не позволяла обеспечить без задирания тактовой. Что и повышало потребление. Да и не причем тут бонусы, задача и так использует слип режимы, если режим малого потребления требуется обеспечить, иначе никак. Причины не использовать RTOS, конечно могут быть. И абсолютные максимумы, минимумы и оптимумы затрат ФИЗИЧЕСКИХ ресурсов для решения какой либо задачи достигаются только индивидуальным выпиливанием из куска нефрита. Любые унивесальные решения, к коим относятся и RTOS, естественно по затратам тех-же байтов, тактов и микроамепер, безусловно находятся в изначально проигрышном состоянии. Но нежели есть хоть МАЛЕЙШИЙ выбор использовать, или не использовать RTOS, то следует использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 19 июля, 2016 Опубликовано 19 июля, 2016 · Жалоба Требования у FreeRtos выглядят вкусными. Но 4к по факту - слишком мало. На MSP430 запускали, 2k - нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 30 сентября, 2016 Опубликовано 30 сентября, 2016 · Жалоба у меня на Atmega169 c 1 кб озу и 16 кб пзу freertos крутиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться