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

 
 
> Как выбрать оптимальный размер стека?
zombi
сообщение Feb 24 2013, 09:37
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Нужно выделить область под стек.
Много - жалко памяти.
Мало ...
Посчитать все возможные прерывания и pushы я просто не в состоянии.
Пока способа лучше чем постоянный анализ указателя в самом частом и самом высокоприоритетном прерывании ни чего не придумал.
Может существуют еще какие либо методы выбора оптимального размера стека?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zombi
сообщение Feb 25 2013, 08:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Какие ИАРы какие GCC ? Я на ассемблере всё пишу.

Ясно одно: идеального метода нет.
Пока остановился на способе "научного тыка", выяснил максимально необходимый размер стека при максимально возможной (на сегодняшний день) загрузке и добавил ровно половину на всяк случай.
И в самом частом и самом высокоприоритетном прерывании оставил анализ указателя чтобы в случае чего остановить всё с рааадостным сообшением "stack overflow" biggrin.gif
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 25 2013, 15:21
Сообщение #3


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(zombi @ Feb 25 2013, 12:59) *
...на ассемблере всё...


тогда проблем вроде как и нет.
направления решений
1) резервация под существующий код.
2) контроль за аварийностью, при выходе стэка куда ему не положено.

резервация - методы следующие.
1) посмотреть "след" от использования стэка. методы написаны выше.
2) прикинуть мысленно глубину поллинга и(или) глубину прерываний. умножить на 1,5 или 2

контроль за аварийностью (как способ вовремя закричать, что _ВНИМАНИЕ_ ышо работаем но уже тогось!!!) лучше делать на "постоянно" используемых функциях. типа выделение памяти или в цикле главной логики, как контроль за общими ошибками. при этом достаточно выставлять признак "всё плохо со стэком" и далее его считывать по мере опроса "старшим братом" или при выводе в юай.
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 25 2013, 15:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(kolobok0 @ Feb 25 2013, 18:21) *
направления решений ...

Вот уже лет 20 как так и делаю.
Думал за это время кто что новое придумал.
Ан нет, всё по старому.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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