AVR: стеки CSTACK, RSTACK

Apr 05, 2004 2 Replies

Со странной ситуацией столкулся. В IARе увеличиваю RSTACK или CSTACK и программа начинает глючить, хотя после увеличения общее использование SRAM - только 360 байт из 512 (ATmega8535, small-модель памяти, fuse S8535C - незапрограммирован, внешняя память не используется). Зато если общее использование - менее 256 байт, то точно все работает.



Заглянул в ASM, оказалось, что printf_P жрет стека данных больше чем предполагалось. Таким образом надо было увеличивать CSTACK еще больше с самого начала. И как прога вообще работала с указателем стека за пределами SRAM - остается тайной.

Привет Alexander!

Пон Апp 05 2004 17:40, Alexander Pluzhnikov -> Alexander Pluzhnikov:

AP> Заглянул в ASM, оказалось, что printf_P жрет стека данных больше чем AP> предполагалось. Таким образом надо было увеличивать CSTACK еще больше AP> с самого начала. И как прога вообще работала с указателем стека за AP> пределами SRAM - остается тайной.

Ага, знакомая пpоблема. Могу поделиться утилиткой, котоpая считает использование стеков по логам компилятоpа с учетом всех вложенностей, обpаботчиков пpеpываний и т.п. Если заинтеpесовало, пиши на snipped-for-privacy@medozone.ru.

Hа этом все, пока. Anton Abrosimov. ... Пpотивников гуманизма - на виселицу!

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required