Как контролтровать стек ? Не знаю как в AVR, но для 51 я делал так: при старте программы, еще до установки stack pointer'a, заполняешь всю область стека специальным кодом, например 0x55. Затем в процессе работы программы (после вызова наиболее вложенных фенкций), идешь с конца стека на начало (в направлении, противоположному росту стека), и там, где специальный код кончается, и есть максимальная вершина стека. Таким образом можно проверять и остальные области памяти, которые выделяет программа в процессе выполнения
|