Код классный, пожалуй проблема не в нем.
Действительно похоже на стек.
Возможно мэйкфайл(выкладывайте) .
Кстати, в gcc есть опция назначения глубины стека.
А вообще произвродит впечетление, что не для того кристалла собирается или RAMTOP стоит неправильный, или что-то накручено не то в стартапе.
Вы в отладчике прогоняли? И еще стоит взглянуть на листинг.
Извините, что сумбурно - мыслей сразу много