Hej,
Specjalnie założyłem konto, żeby poinformować o kolejnym problemie na który natrafiłem. Mianowicie po odpaleniu debugera program nie mógł przeskoczyć żadnej z funkcji inicjalizujących peryferium. Objawiało się to tym, że PC stał na tej funkcji i pomimo operacji run/stop on dalej tam siedział. Nie pomagało przeskoczenie funkcji poprze "run over"- wtedy w konsoli pojawiał się błąd w postaci: "Info : halted: PC: 0x08000f4c" (adres oczywiście może być różny). Na początku myślałem, że to coś związanego z SysTickiem i przerwaniami, potem kombinowałem z WDT- oczywiście cały czas szukałem w internecie informacji których nie było na żadnym forum... I w sumie dalej rozwiązania nie ma. Znalazłem tylko ten temat:
http://www.openstm32.org/forumthread943#tiki-top
w którym autor mówi o tym, że funkcje inicjalizujące są zadeklarowane jako inline i coś się z tym pierdzieli. Rozwiązaniem jest wyłączenie optymalizacji:
PPM na projekt -> Properties -> C/C++ build -> Settings -> MCU/GCC Compiler -> Optimization -> Optimization Level None
W moim przypadku pomogło, ale oczywiście jest to obejście problemu, a nie jego wyeliminowanie