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

 
 
> IAR CSTACK RSTACK - измерение глубины стека
Mty
сообщение Apr 17 2016, 11:59
Сообщение #1


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

Группа: Свой
Сообщений: 151
Регистрация: 19-12-04
Из: Москва
Пользователь №: 1 560



Привет!

По идеям документа с сайта IAR
https://www.iar.com/support/resources/artic...em-reliability/
хочу напрямую смотреть использование стека в процессе выполнения программы

Идея в том, чтобы через таймерное прерывание периодически замерять указатель на автоматическую переменную, и мониторить сколько стека в использовании.
С data stack (CSTACK) все вроде должно получиться без проблем, а вот как получить указатель на текущий RSTACK?

C data stack идея такова -
Код
char *highStack, *lowStack;
int main(int argc, char *argv[])
{
highStack = (char *)&argc;
// ...
printf("Current stack usage: %d\n", highStack - lowStack);
}

void sampling_timer_interrupt_handler(void)
{
char* currentStack;
int a;
currentStack = (char *)&a;
if (currentStack < lowStack) lowStack = currentStack;
}


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Apr 17 2016, 16:02
Сообщение #2


Гуру
******

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



QUOTE (Mty @ Apr 17 2016, 14:59) *
Идея в том, чтобы через таймерное прерывание периодически замерять указатель на автоматическую переменную, и мониторить сколько стека в использовании.

Для контроля за использованим стеков их заполняют константными заначениями и переодически следят за их целостностью. Смысла в мгновенных сравнениях указателей стеков нет никакого.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Apr 17 2016, 16:56
Сообщение #3


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(zltigo @ Apr 17 2016, 19:02) *
Для контроля за использованим стеков их заполняют константными заначениями и переодически следят за их целостностью. Смысла в мгновенных сравнениях указателей стеков нет никакого.

+1 Тем более, что этот метод не является в прямом смысле "мгновенным", т. к. не позволяет уличить момент порчи стека, а в случае с AVR и никакой другой метод этого не позволит - AVR ядро не содержит таких аппаратных возможностей.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Mty   IAR CSTACK RSTACK - измерение глубины стека   Apr 17 2016, 11:59
|- - Mty   Цитата(zltigo @ Apr 17 2016, 19:02) Для к...   Apr 18 2016, 11:05
|- - zltigo   QUOTE (Mty @ Apr 18 2016, 14:05) А есть п...   Apr 18 2016, 11:21
- - kolobok0   Цитата(Mty @ Apr 17 2016, 14:59) ...Идея ...   Apr 17 2016, 17:09
- - aiwa   Цитата(Mty @ Apr 17 2016, 14:59) С data s...   Apr 18 2016, 12:33
- - Mty   Друзья, если у кого то есть рабочий код на С по за...   Apr 18 2016, 12:37
|- - zltigo   QUOTE (Mty @ Apr 18 2016, 15:37) Пока наш...   Apr 18 2016, 14:09
- - AleksBak   А почему у них там (у IAR) стек расположен не ввер...   Apr 18 2016, 17:56
|- - zltigo   QUOTE (AleksBak @ Apr 18 2016, 20:56) А п...   Apr 18 2016, 17:59
|- - AleksBak   Цитата(zltigo @ Apr 18 2016, 21:59) А пот...   Apr 18 2016, 18:17
- - zombi   Цитата(Mty @ Apr 17 2016, 14:59) хочу нап...   Apr 18 2016, 23:37
- - Mty   Цитата(aiwa @ Apr 18 2016, 15:33) Так про...   Apr 19 2016, 07:22
|- - zltigo   QUOTE (Mty @ Apr 19 2016, 10:22) CODEretu...   Apr 19 2016, 07:33
|- - aiwa   Осторожнее надо быть с RSTACKом, потому что такой ...   Apr 19 2016, 08:30
- - Mty   Цитата(zltigo @ Apr 19 2016, 10:33) Смотр...   Apr 19 2016, 07:56
|- - zltigo   QUOTE (Mty @ Apr 19 2016, 10:56) Намекает...   Apr 19 2016, 08:04
- - aiwa   ЦитатаНамекаете на то что при возврате 1 сегмент и...   Apr 19 2016, 11:17
|- - zltigo   QUOTE (aiwa @ Apr 19 2016, 14:17) Т.е. ес...   Apr 19 2016, 11:22
- - aiwa   Да, наоборот. Подправлю. Кстати, нетрадиционное р...   Apr 19 2016, 11:44
|- - zltigo   QUOTE (aiwa @ Apr 19 2016, 14:44) Кстати,...   Apr 19 2016, 12:01
|- - aiwa   Цитата(zltigo @ Apr 19 2016, 15:01) Так и...   Apr 19 2016, 13:29
- - Mty   Насколько я понимаю он при инициализации сегментов...   Apr 19 2016, 12:32
|- - zltigo   QUOTE (Mty @ Apr 19 2016, 15:32) Наскольк...   Apr 19 2016, 13:48
- - aiwa   Заинтересовало, по быстрому написал первоначальный...   Apr 20 2016, 00:12
- - aiwa   Посмотрел с утра - код работать не будет. Не учел,...   Apr 20 2016, 08:57
|- - Mty   Спасибо, круто! А вот интересно register char...   Apr 20 2016, 11:33
|- - zltigo   QUOTE (Mty @ Apr 20 2016, 14:33) Иными сл...   Apr 20 2016, 12:34
- - aiwa   Цитата(Mty @ Apr 20 2016, 14:33) register...   Apr 20 2016, 13:27


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

 


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


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