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.
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.
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.