[an error occurred while processing this directive]
|
shared в данном случае означает, что в данном модуле имеется ссылка к глобальным переменным, которые определены в другом модуле.
Относительно map файла. Там можно увидеть более детальную информацию по использованию памяти. Посмотри в каком модуле сколько памяти используется и каким образом (сегменты программ и данных).
И наконец, в листинге компилятора указывается также и размер стека, используемого в каждой функции, так что есть информация к размышлению.
И последее в качестве совета. Обычно проблемы со стеком возникают, когда в функции объявляется слишком много локальных переменных (например массив), которые размещаются в стеке. Поскольку размер стека в МК обычно невелик, то и возникает проблема, подобная твоей.
Решение простое: объявить эти переменные в функции как static. Конечно при этом память занимается такими переменными постоянно, зато стек не используется.
E-mail: info@telesys.ru