Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глубина стека в WinAVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Старый Бабай
Народ горю как швед по полтавой..
Происходит переполнение стека.
Как указать глубину стека в WinAVR.
Заранее спасибо
Георгий
Так WinAVR тут не причем, если пишешь на ассемблере, предусмотри область памяти под стэк побольше, если на Си, то в опциях компилятора надо указать размер стека поболее.
Старый Бабай
про асм и про IAR это знаю, как там указывать глубину стека
Но проект написан на WInAVR, а переделываеть его просто не времени физически
подскажите тупому где в WinAVR это указывается
заранее спасибо
Георгий
Эх, снес я у себя ВинАВР, оказывается! Так что точно не скажу, но надо копаться в опциях компилятора. Не может не быть, чтобы размера стека не было.
SSerge
Цитата(Георгий @ Dec 26 2005, 18:41) *
Эх, снес я у себя ВинАВР, оказывается! Так что точно не скажу, но надо копаться в опциях компилятора. Не может не быть, чтобы размера стека не было.

Так размер и расположение сегмента стека как, впрочем, и всех других сегментов - это забота не компилятора, а линкера.
В его опциях/настройках и надо смотреть.
beer_warrior
Можно покопаться в ключах -fstack- хотя это не совсем то.
Если все совсем плохо, попробовать использовать inline.
pulsar-17
А почему Вы решили что это именно стек переполняется? Если используется только накристальная память то увеличивай не увеличивай - результат один - при сильном заполнении накристалки возможно наползание стека на BSS, а за ней и на DATA сегмент, в итоге данные запораты и стек поврежден. Выход один - оптимизировать программу с точки зрения использования памяти данных(уменьшать размеры массивов, оптимизировать математику для обработки "не лету",...), а также убрать рекурсивные функции(если есть таковые) и тд. Если есть внешняя память, то перенести сегмент DATA и BSS в неё. Стек оставить в накристалке, там он работает быстрей. Как перенести сегменты читайте в avr-libc-user-manual, лежит в winavr\doc.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.