Со странной ситуацией столкулся. В IARе увеличиваю RSTACK или CSTACK и программа начинает глючить, хотя после увеличения общее использование SRAM - только 360 байт из 512 (ATmega8535, small-модель памяти, fuse S8535C - незапрограммирован, внешняя память не используется). Зато если общее использование - менее 256 байт, то точно все работает.
AVR: стеки CSTACK, RSTACK
Apr 05, 2004
2 Replies
Заглянул в 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