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

 
 
 
Reply to this topicStart new topic
> Минимальный размер стека STM32 подскажите
glonium
сообщение Nov 23 2012, 17:38
Сообщение #1


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

Группа: Участник
Сообщений: 77
Регистрация: 27-05-11
Пользователь №: 65 303



Всем доброго времени суток!
Завёл недавно freeRTOS на STM32F103RB, скопировал файл конфигурации с примеров и всё вроде работало, как заметил что отжирает где то кусок оперативы, разобравшись подробнее в файле конфигурации увидел поле #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 128 )
Это минимальный размер стека отжираемый задачей IDLE 128 слов или 128*4=512 байт, мне показалось это для простой задачи IDLE без хука многовато, народ прошу совета минимальный размер стека можно ли уменьшить, если да то до скольки слов? Заранее спасибо!
PS Компилятор Keil
Go to the top of the page
 
+Quote Post
sla000
сообщение Nov 26 2012, 10:05
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 25-06-07
Из: Томск
Пользователь №: 28 670



Немного уменьшить вроде возможно, для подстраховки можно пользовать uxTaskGetStackHighWaterMark().

Сообщение отредактировал IgorKossak - Nov 26 2012, 13:32
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 26 2012, 10:12
Сообщение #3


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

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



Цитата(glonium @ Nov 23 2012, 21:38) *
мне показалось это для простой задачи IDLE без хука многовато

Зависит от того, что вы делаете в прерываниях. Может оказаться, что и маловато.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 26 2012, 11:10
Сообщение #4


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



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

Для прерываний у Cortex-M3 есть свой отдельный стек, поэтому нет смысла резервировать место в стеках всех задач для обработчиков прерываний. У меня для задачи IDLE используется стек в 32 слова (128 байт), реально использовано 17 (для сохранения контекста). Это для TNKernel, не думаю что для FreeRTOS нужно принципиально больше (разве что они выполняют какие-то дополнительные вызовы фоновых функций в Idle, у меня же там тупо "wfi" и больше ничего)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:59
Рейтинг@Mail.ru


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