Forum: Mikrocontroller und Digitale Elektronik [STM32] Hardfault nach Powerup ohne Flashen


von Lasse S. (cowz) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

Ich benutze einen STM32F103RE mit JLink und dem CodeSourcery Compiler, 
habe dabei aber einen seltsamen Fehler:

Nach dem Powerup initialisiere ich den SysTick, dabei springt er in 
einen Hardfault:
1
J-Link>s
2
PC: 08003B24
3
J-Link>s
4
PC: 08003B26
5
J-Link>s
6
PC: 08000298

Das Listing ist im Anhang, an 0x08000298 ist der Hardfault-Handler.


Was das ganze noch komischer macht: Lade ich das (gleiche) Programm auf 
den ARM und resette dann und steppe durch, läuft alles wunderbar ohne 
Probleme. Sobald ich dann aber einmal die Versorgungsspannung wegnehme 
und wieder an mache, springt er wieder in den Hardfault.

Ich denke zwar, dass das prinzipiell was mit dem RAM zutun haben müsste, 
kann aber nichts finden, woran das liegen könnte...

Sollten Sachen fehlen, liefer ich gerne alles nach, wollte nur jetzt 
nicht gleich alles posten, da ich nicht weiß, was ihr braucht.


Verzweifelte Grüße
Lasse

von Lasse S. (cowz) Benutzerseite


Lesenswert?

Okay, Fehler gefunden:

Dank der (später notwendigen) Compilereinstellung -fpic lädt er eine 
GlobalOffsetTable, die leider direkt ins RAM.

Das ganze kann ich also nach hinten verschieben, wenn ich mich um den 
Position Independent Code kümmere, kommt das wohl nochmal hoch ;)

Gruß
Lasse

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.