AVR: стеки CSTACK, RSTACK

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Со странной ситуацией столкулся. В 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отивников гуманизма - на виселицу!

Site Timeline