Может быть очень сложно предсказать, сколько именно стека вам понадобится (некоторые цепочки инструментов могут пойти на это, если вы включите правильные опции, но это только грубое руководство).
Обычный способ проверки состояния стека состоит в том, чтобы при запуске полностью заполнить его известным значением, выполнить код как можно дольше и сложнее, а затем посмотреть, сколько не было перезаписано.
Код запуска вашей цепочки инструментов может даже иметь возможность заполнить стек для вас.
К сожалению, хотя концепции очень просты: заполните стек известным значением, подсчитайте количество оставшихся значений, для его реализации может потребоваться достаточно глубокое понимание того, как работают ваши конкретные инструменты (особенно запуск). код и компоновщик) работают.
Грубые способы проверить, является ли ваша проблема причиной переполнения стека, - сделать все ваши локальные массивы «статическими» и / или значительно увеличить размер стека, а затем посмотреть, работают ли они лучше. И то, и другое может быть трудно сделать в небольших встроенных системах.