Дык куда ж он оттуда вылезет, когда там явно бесконечный цикл прописан? Это дефолтовский обработчик из стартапа, а вашего обработчика линкер не видит. У мну такое было из-за того, что компилятор C++ украшает имена функций. Помогло объявление всех обработчиков прерываний как extern "C" void XXX_Handler(void)