Использую GCC из дистрибутива Yagarto. Если просто моргать светодиодом в главном цикле, то периодические прерывания функционируют нормально. Если, к примеру, добавить вызов в цикле sprintf, прерывания перестают работать (через какое-то время ~ несколько сотен вызовов), но главный цикл продолжает выполняться. Предполагаю проблема в стандартной библиотеке, внутри которой используется thumb режим (мой код весь в arm режиме). Хотя, если вызывать мою thumb функцию, зависаний не происходит.
В какую сторону копать?