А почему Вы решили что это именно стек переполняется? Если используется только накристальная память то увеличивай не увеличивай - результат один - при сильном заполнении накристалки возможно наползание стека на BSS, а за ней и на DATA сегмент, в итоге данные запораты и стек поврежден. Выход один - оптимизировать программу с точки зрения использования памяти данных(уменьшать размеры массивов, оптимизировать математику для обработки "не лету",...), а также убрать рекурсивные функции(если есть таковые) и тд. Если есть внешняя память, то перенести сегмент DATA и BSS в неё. Стек оставить в накристалке, там он работает быстрей. Как перенести сегменты читайте в avr-libc-user-manual, лежит в winavr\doc.
|