Julian Klein schrieb:
> dass die Funktion assert_param nirgends..
Hör mal, du mußt bei C unterscheiden lernen, was nach einer Funktion
aussieht und was keine ist:
"Error: L6218E: Undefined symbol assert_param"
Das läßt schlicht und einfach darauf schließen, daß dies ein Symbol
ist und daß selbiges nirgendwo in einer der Quellen definiert ist,
sondern quasi auf der Kommandozeile. C-Leute machen das gern so.
Also schreib vor alle deine Includes einmal ein
#define assert_param 0
und gucke, ob damit die Fehlermeldung verschwunden ist. Sie ist m.E.
mit ziemlicher Sicherheit weg, aber das sollte dich dazu anspornen, in
der betreffenden Datei nach dem eigentlichen Sinn dieser Definition
nachzuschauen.
Ganz generell mein Tip: Inkludiere zum Anfang möglichst wenig, am besten
bloß die .h, wo die eigentlichen Hardwareregister des verwendeten uC
definiert sind. Ich weiß, daß das bei ST bereits ne krötige Sache ist,
denn die Burschen ziehen sich mit Begeisterung innerhalb der STM32xxx.h
einen riesigen Sack anderer .h mit rein, insbesondere den ganzen
Cortex-Header-Kram. Ich hab genau aus diesem Grunde mir schon seit eh
und je meine Headerdateien anhand des Usermanuals vom uC selber
zusammengestellt. Das mag auf den allerersten Blick frontal gegen die
angeborene Faulheit fast aller Programmierer gehen, sichert mir aber,
daß meine Quellen relativ frei sind von überflüssigem Zeugs, das einem
irgendwann mal auf die Füße fällt.
W.S.