Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CSTACK and RSTACK filled to 100%
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Lexa2007
Прошу помочь, кто знает как устронить выдачу сообщения после компеляции при использовании debugger. ATmega32

The stack 'CSTACK' is filled to 100% (512 bytes used out of 512).

такое же и для RSTACK.

При изменени размера через Projеct->Options->General..->System -> DATA CSTACK and Level Setting for RSTACK можно было видить изменения в распределении размера стека.

Выдача сообщении о stack overflow не смотри на увеличению стека не ушло.


Зарание блогадарен!!!!
Mayc
Аналогичная проблема, компилятор IAR без оптимизации программного кода.
Подозреваю, что переменные записываются (возможно при работе с массивом через указатель) в область стека и он соотвественно переполняется. Если проблему как-то решили прошу отписаться в этой ветке) Если нет давайте вместе побеждать и получать опыт! wacko.gif
sKWO
интересная статья, посмотрите здесь
кроме того, прочитайте по поводу настройки линкер файла, для начала хотя бы AVR032.
в общем, на форуме часто подымалась, воспользуйтесь поиском.
Сергей Борщ
QUOTE (Mayc @ May 24 2012, 11:20) *
(возможно при работе с массивом через указатель)
А указатель-то чем провинился?
sKWO
Цитата(Mayc @ May 24 2012, 11:20) *
Подозреваю, что переменные записываются (возможно при работе с массивом через указатель) в область стека и он соотвественно переполняется.

Если переменные локальные, то как правило они размещаются в стеке. При большой вложенности функций вы и получите выше описанный результат, также если Вы используете в качестве аргумента в вызываемых функциях массив то переполнить стек нет вопросов. Для экономии стековой памяти используют указатель в вызываемых функциях как параметр.
Это и говорит Вам Сергей Борщ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.