Значит - всё-таки прошивка генерирует. На асме без прерываний "superloop" набросать, который инициализирует и закидывает на передачу какой-нить байтик. Потом с прерываниями. Потом на Си. Потом может выясниться, что компилятору что-то не то "сказали". Или не пересобрали проект. Если GCC то
make clean
make
Как-то так...