Hiho,
ich hatte mal ein ähnliches Problem, bei mir lags am Bootloader.
Der hatte den Code nämlich um ein Byte (oder mehrere) falsch in den Speicher kopiert, und dadurch lag eine globale Variable net mehr an 0x10034 sondern 0x10035. Bis ich das rausgefunden hab, puhh! Auf solche Fehler solltest du schauen, ansonsten können es noch das Linkerscript oder die gcc Commandline sein...
MfG GhostCoder