Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Минимальный размер стека STM32 подскажите
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
glonium
Всем доброго времени суток!
Завёл недавно freeRTOS на STM32F103RB, скопировал файл конфигурации с примеров и всё вроде работало, как заметил что отжирает где то кусок оперативы, разобравшись подробнее в файле конфигурации увидел поле #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
Это минимальный размер стека отжираемый задачей IDLE 128 слов или 128*4=512 байт, мне показалось это для простой задачи IDLE без хука многовато, народ прошу совета минимальный размер стека можно ли уменьшить, если да то до скольки слов? Заранее спасибо!
PS Компилятор Keil
sla000
Немного уменьшить вроде возможно, для подстраховки можно пользовать uxTaskGetStackHighWaterMark().
MrYuran
Цитата(glonium @ Nov 23 2012, 21:38) *
мне показалось это для простой задачи IDLE без хука многовато

Зависит от того, что вы делаете в прерываниях. Может оказаться, что и маловато.
VslavX
Цитата(MrYuran @ Nov 26 2012, 12:12) *
Зависит от того, что вы делаете в прерываниях. Может оказаться, что и маловато.

Для прерываний у Cortex-M3 есть свой отдельный стек, поэтому нет смысла резервировать место в стеках всех задач для обработчиков прерываний. У меня для задачи IDLE используется стек в 32 слова (128 байт), реально использовано 17 (для сохранения контекста). Это для TNKernel, не думаю что для FreeRTOS нужно принципиально больше (разве что они выполняют какие-то дополнительные вызовы фоновых функций в Idle, у меня же там тупо "wfi" и больше ничего)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.