mikrocontroller.net

Forum: Offtopic HardFault will nicht!


Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man so ne kacke.

Da will man mal ausnahmsweise einen Hardfault im STM32 erzwingen und es 
klappt nicht!

Schnell, ich brauche einen GoToHardfault() :>

Autor: Icke ®. (49636b65)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Brauchst du, kriegst du...

Autor: Paul B. (paul_baumann)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Alternaria Solani ist die Hartfäule bei Kartoffeln -das will doch 
Niemand haben...
:)
MfG Paul

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach man, die Frage war eigentlich erst gemeint :> Vielleicht sollte ich 
umformulieren und in n anderes Topic rein :>

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klasse. Ich habs geschafft in den Hardfaulthandler zu kommen. Keine 
Ahnung was ich gemacht habe. Allerdings komme ich nicht mehr raus.

Autor: Kaj G. (Firma: RUB) (bloody)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Reginald L. schrieb:
> Da will man mal ausnahmsweise einen Hardfault im STM32 erzwingen und es
> klappt nicht!
Trage im Linker-Script eine max. Größe für den Stack ein (z.B. 1k), und 
dann sorge dafür, dass dein Stack größer wird als die max. erlaubte 
größe. So funktioniert es zumidnestens beim Atmel SAM3X.
Alternativ kannst du auch einfach den Stack überlaufen lassen mittels 
einer endlos rekursion. Dann solltest du auch im Hardfault landen ohne 
das Linker-Script anfassen zu müssen.

Reginald L. schrieb:
> Allerdings komme ich nicht mehr raus.
"Wie" willst du denn wieder raus? Am einfachsten wäre es einen Watchdog 
anzustoßen.

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kaj G. schrieb:
> Trage im Linker-Script eine max. Größe für den Stack ein
Logisch! Danke :)

Kaj G. schrieb:
> "Wie" willst du denn wieder raus? Am einfachsten wäre es einen Watchdog
> anzustoßen.
Ach ich hab irgendwas gemacht und wusste nimmer was :>

Autor: Johannes O. (jojo_2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kaj G. schrieb:
> Trage im Linker-Script eine max. Größe für den Stack ein (z.B. 1k), und
> dann sorge dafür, dass dein Stack größer wird als die max. erlaubte
> größe. So funktioniert es zumidnestens beim Atmel SAM3X.

Wie soll der STM32 erkennen können, ob du deinen Stack gerade gekillt 
hast? Ja, es wird langfristig irgendwie/irgendwo zu einem schweren 
Fehler (wenn auch nicht zwingend einem Hard-Fault!) führen, wenn der 
Stack zu groß wird, aber garantiert ist das meines Wissens nach nicht. 
Es findet kein Vergleich von Stackaddresse und Speicherbereichen statt. 
(eventuell lässt sich da was mit der MMU machen aber das würde erst zu 
einem MMU-Fault führen)

Laut Programming Manual des Cortex-M4 (welchem STM32 hast du?), gibt es 
zwei Gründe für einen Hard Fault:
- Bus error on a vector read
- Fault escalated to a hard fault (hier gibts nochmal mehr 
Möglichkeiten, siehe "Programming Manual" des Cortex)

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Gerade zufälligerweise in einem anderen Thread ein Top GoToHardfault():
  void(*fail) (void);
  fail = 0;
  fail();

Funktioniert supi :>

Autor: Torben H. (bauteiltoeter)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
LOL. Ja danke, der Code ist von mir. Eigentlich sollte der auch hier in 
den Thread, drüben passt er ja gar nicht... Das passiert, wenn man am 
Handy einen Thread liest, eine Antwort weiß und dann am Computer tippt^^

Freut mich, dass das funktioniert!

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Torben H. schrieb:
> Freut mich, dass das funktioniert!
Ja, ist klein und top, bussi ;D

Autor: Paul B. (paul_baumann)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Reginald L. schrieb:
> ja, ist klein und top, bussi ;D

Bussi? Teufel, Teufel...
:)

Heißt das nicht "Busy"?

MfG Paul

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
tja Paul,
wenn man die eigene Suppenschüssel nicht hinter sich lässt können äußere 
Eindrücke verwirren.
 Namaste

Autor: Paul B. (paul_baumann)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Winfried J. schrieb:
> tja Paul,
> wenn man die eigene Suppenschüssel nicht hinter sich lässt können äußere
> Eindrücke verwirren.

Am Sonntag wurden Klöße gegessen. Die Suppenschüssel blieb im Schrank.

MfG Paul

Autor: Reginald L. (Firma: HS Ulm) (reggie)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wie kann einem eigentlich sooooo langweilig sein, und die Beiträge hier 
im Offtopic negativ bewerten :D

Unbekannter - go! Search for life!

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.