Ein einfaches Programm, das zwei LED blinken lässt und funktioniert (auf
der Hardware STM32F103CB und im Simulator), habe ich ich um eine
serielle Ausgabe erweitert. Wenn ich den nun den Keil Simulator/Debugger
starte, kommt er nicht, wie üblich zur main(), sondern simuliert das
Programm. Breche ich die Programmausführung sehe ich, das eine
Endlosschleife ausgeführt wird (Zeile mit dem '*').
Das verrückte ist, dass ich erst gar nicht zum Debuggen kommen, um
irgendwelche Fehler in meinen Routinen zu suchen. Der Linker muss
irgendetwas hinzulinken.
Kennt jemand das Problem?
1 | _sys_exit:
|
2 | 0x08000D1C 4901 LDR r1,[pc,#4] ; @0x08000D24
|
3 | 0x08000D1E 2018 MOVS r0,#0x18
|
4 | 0x08000D20 BEAB BKPT 0xAB
|
5 | *0x08000D22 E7FE B 0x08000D22
|
6 | 0x08000D24 0026 MOVS r6,r4
|
7 | 0x08000D26 0002 MOVS r2,r0
|