mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keil / STM32 - assert, debug console


Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach auch.

Ich bin in der welt der µCs recht neu.
Ich bin genötigt, dieses steinzeitlich anmutende ding Keil µVision 4 zu 
benutzen, arbeite an einem Cortex M3 (STM32) projekt.

1)
Ich bin es nun aus anderen entwicklungsumgebungen gewohnt, dass ich beim 
nutzen von assert() aus assert.h, die es in der STM library auch gibt, 
beim fehlschlag der bedingung in () mit der IDE in's betreffende code 
file / zeile crashe, und sehe, wo was los ist.

Ich bin dabei, einem bestehenden programm funktionalität hinzuzufügen, 
und musste feststellen, dass sich assert() in der o.g. Umgebung nicht so 
verhält,
sondern das programm im fehlerfall einfach "hängt", das aber weder 
überhaupt irgendwie angezeigt wird, und schon gar nicht ins betreffende 
sourcefile gesprungen wird.

Sind das vielleicht falsche IDE einstellungen, oder könnte das programm, 
an dem ich arbeite (und nicht wie meine westentasche kenne), das 
irgendwie blockieren?

Oder gibt's in diesem entwicklungsrahmen gar kein in dieser eingangs 
beschriebenen weise funktionierendes assert()? Wäre dann ja völlig 
nutzlos...

2)
gibt's die möglichkeit, eine debug output console zu öffnen, wo printf() 
text hinsendet? Ich meine sogar, das schonmal gesehen zu haben, finde 
aber keine einstellung dergleichen.

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Verhalten von assert() in der STM-Lib kann man, glaube ich mich zu 
entsinnen, über ein #define irgendwo einstellen; mußt mal in die Doku 
schauen.

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
assert_param() oder assert()? Ersters Teil der STM-Library (siehe deren 
Dokumentation, Beispiele, Quellcode nach USE_FULL_ASSERT absuchen). 
Letzteres Teil der Toolchain und in deren Online-Hilfe gut erläutert. 
Frage ist besser im Support-Forum bei keil.com aufgehoben (überflüssige 
Bewertung in der Einleitung dort noch weniger antwortermotivierend als 
hier).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.