Forum: Mikrocontroller und Digitale Elektronik STM32F4xx Projekt aufsetzen 'Klassisch' oder über STMCube


von Lion (Gast)


Lesenswert?

Hallo Zusammen,

ich bin aktuell dabei ein Projekt für den STM32F4xx aufzusetzen und 
stehe im Moment ein wenig an dem Scheidweg das CMSIS klassisch 
anzubinden (also im Endeffekt die Peripherie per Hand in den MSPs zu 
konfigurieren) oder das alles über das STMCube laufen zu lassen und mir 
dadurch einiges an Handarbeit zu sparen.

Könnt ihr hier aus der Praxis eine Empfehlung geben was am Ende der 
bessere Weg ist?

Ich sehe das STMCube als recht komfortabel und erste kleinere Versuche 
waren auch schnell erfolgreich. Ich habe aber das Gefühl dadurch das 
Verständnis zu dem zu verlieren was im Hintergrund genau abläuft. 
Generell wenn mal was schief läuft u.U. recht problematisch.

Die händische Methode erscheint mir als wesentlich aufwendiger und 
wahrscheinlich sogar Fehlerträchtiger, aber man behält im Auge was genau 
passiert.

Vielen Dank für eure Meinungen!

von Horst (Gast)


Lesenswert?

To HAL or not to HAL oder so hieß der Thread von vor ein paar Tagen. Da 
wurde es alles ausdiskutiert.
Musst du mal suchen.

Ansonsten, Cube HAL ist grauenhaft und ich kanns niemandem empfehlen.

von Dennis X. (Gast)


Lesenswert?

Ich würde an deiner Stelle die Grundkonfiguration einmalig mit Cube 
machen um dann auf dem generierten Code aufzubauen.
Es wird auch nur Code erzeugt und du kannst dir genauso anschauen was da 
passiert. Du verlierst eigentlich nicht den Überblick.

von hp-freund (Gast)


Lesenswert?

Horst schrieb:
> Ansonsten, Cube HAL ist grauenhaft und ich kanns niemandem empfehlen.

Das negiere ich gleich Mal.

Vom Blinky über USART bis zum HTTPD, alles in kurzer Zeit mit wenig 
Aufwand erledigt.
Auch wenn der µC wechselt, was will man mehr?

Wer wissen will was genau passiert, folge einfach den HAL_ Funktionen in 
die Tiefe.

Wenn man sich an ein paar einfache Regeln hält ist auch ein Erweitern 
des Projekts durch mehrfachen Aufruf von CubeMX möglich.

Habe ich gerade mit einem Webserver in Arbeit.

RTC hat gefehlt?
Kein Problem. In CubeMX einschalten, ein paar zusätzliche Zeilen in die 
.c Datei und in die .shtml und schon ist die Uhrzeit auf der Webseite.

Man kann aber auch Datenblätter und Manuals wälzen...
...wenn man will ;-)

von Dennis X. (Gast)


Lesenswert?

Ich wollte gerade schon alles markieren und +1 darunter schreiben... Ich 
kann mich hp-freund nur anschließen!
Falls du Überblick brauchst einfach den Funktionen folgen du kannst dir 
ja trotzdem alles anschauen.

von Bernd L. (mikro-kontrolleur)


Lesenswert?

Für Hobby gut geeignet. Professionell in einer Firma kann ich es nicht 
empfehlen. Alleine schon wegen der komischen Updatepolitik.

von dasrotemopped (Gast)


Lesenswert?

jedes Bit selber im Kopf haben zu müssen und dann auch noch selbst im uC 
kippen zu lassen hat mich beim AVR viel Zeit gekostet, bei den SAM-D ist 
es dann zu umständlich geworden. Durch CubeMX kann ich mich auf die 
Aufgabe konzentieren und muss nicht alle Abhängigkeiten prüfen wenn mal 
was nicht geht. CubeMX ist natürlich nicht fehlerfrei, wird es 
warscheinlich auch nicht. Aber das ist der eigene Code ja auch nicht 
wenn man ehrlich ist. Und CubeMX als exotisch abzutun kann auch nicht 
richtig sein. Da gibt es im Konzept doch zu viele Ähnlichkeiten zu 
Infineon Dave 4.

Ich würde nie wieder ohne so ein Konfigurationstool embedded 
programmieren wollen. Dem Einsteiger erspart es viele Frustmomente bis 
zum ersten Erfolgserlebnis und mit steigender Erfahrung nimmt es 
Routinearbeiten ab.

Gruß,

dasrotemopped.

von proggen (Gast)


Lesenswert?

Das Problem an Cube ist, dass man sich auf die mit gelieferte Libs gerne 
verlassen möchte aber elementare Dinge die in der alten StdLib 
funktioniert haben plötzlich verbugt sind... Also lieber die Zeit nehmen 
und den uC selber Konfigurieren und die StdPeripheralLib nutzen, wobei 
es auch da Bugs gibt. Halt ich zumindest so... Muss aber jeder selber 
wissen...

Have a nice day

von ./. (Gast)


Lesenswert?

Ohne den ganzen alten Brei jetzt nochmal hochzukochen:

Mit HAL darfst Du alles 3x lesen, das Referenzmanual was
ueberhaupt geht, und die HAL-Doku/Sourcecode wie und
(entscheidend) welcher Reihenfolge und wie es dort benamst ist.

Nur Kinderprojekte purzeln aus dem Generator fehlerfrei heraus.
Den (nicht-)funktionierenden Rest darfst Du dann selber ausmisten.

Mir wuerde die Entscheidung da nicht schwer fallen.

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.