Ich verwende den WindRiver JTAG Debugger, um meinen Code zu debuggen. Immer wenn ich den Code mit verbundenem Debugger ausführe, funktioniert Code korrekt, aber wenn ich ihn trenne, kann er nicht einmal starten!
Hatte jemand solche Probleme?
Mein Debugger für einen Coldfire führt einige Initialisierungen des SDRAM-Controllers und anderer Low-Level-Register durch, die normalerweise vom Bootloader durchgeführt werden. Überprüfen Sie, wie Ihr Debugger den Chip initialisiert.
Hier sind die Gründe, warum ich diesen Fall gesehen habe:
Im Allgemeinen wird dieses Problem dadurch verursacht, dass das Programm nach einem Zurücksetzen nicht ordnungsgemäß startet, wenn es ohne den Debugger ausgeführt wird. Beispielsweise muss bei den Rowley CrossWorks ARM-Tools STARTUP_FROM_RESET für den Präprozessor definiert werden.
Vielleicht verwenden Sie die Debug-Version, wenn Sie mit dem angeschlossenen JTAG-Gerät kompilieren, verwenden aber Release, wenn Sie ohne es kompilieren? Wenn Sie unterschiedliche Debug- und Release-Versionen verwenden, stellen Sie außerdem sicher, dass die Optimierungen für beide Varianten gleich eingestellt sind.
mikeselectricstuff
Schwanand