Hal und cube

Beitrag #5093477 wurde von einem Moderator gelöscht.
Gast #5093531
Lesenswert?

Aaah, der Rant für den Freitag ...

Das CubeMX ist ja so erstaunlich. Leute, die sie auf keinen Fall
benutzen wollen und werden, opfern Ihre wertvolle Zeit, um darzulegen,
warum das Tool so schlecht ist.
Einer Software, die ich nicht verwende, würde ich niemals so viel
Aufmerksamkeit und Zeit schenken.

Gruß,
dasrotemopped.
#5093813
Lesenswert?

Nop schrieb:
> Rene K. schrieb:
>> Der generierte Code, da sprechen wir mal lieber nicht drüber.
>
> Welche Motivation sollte ST eigentlich haben, performanten Code zu
> generieren? Mit nicht-performantem Code lassen sich schließlich teurere
> Controller verkaufen.

Es geht noch nicht einmal um die Performance, da will ich nichts 
negatives darüber sagen.

Es geht darum, das der erzeugte Code wenigstens das macht was er soll - 
ich nehme mal als Beispiel folgenden Post:

Bülent C. schrieb:
> Ja, um mit einem 32Bit uC LED's blinken zu lassen ist es nahezu
> perfekt
> ;-)

Nichtmal das macht CubeMx wirklich richtig: Ich erstelle einen Timer, 
lege ihn fest, er gibt mir den dazugehörigen Pin raus, ich lasse das 
Projekt erstellen - Schließe eine LED an den zugehörigen Timer Pin an - 
Ergebniss: es blinkt nicht! Warum? Weil Cube zwar den Code für den Timer 
erstellt, ihn aber nicht startet. Lege ich einen OC Interrupt für den 
Timer an, legt Cube noch nicht einmal die zugehörige NVICs an.

Da sucht man sich dann durch das Geflecht von erzeugten Headern um den 
dazugehörigen Code zu suchen - weil für manche erstellt Cube Code in 
eigenen Headern, manche schreibt er direkt in die HAL-Header 
(Interrupts, OSC-Settings z.b.).

Und ganz ehrlich, da habe ich mir meine Pin-Zuordnungen und Timer 
schneller selbst geschrieben bevor ich den Aufwand habe: Cube öffnen -> 
Projekt anlegen -> Timer auswählen -> Timer einstellen -> Code erzeugen 
lassen -> SW4STM öffnen -> Projekt öffnen -> Timer dennoch bearbeiten 
müssen...

Es kann natürlich sein, ich habe in Cube das letzte mal vor ca. nen Jahr 
geschaut, das sich dahingehend etwas geändert hat... Aber ich denke 
nicht.

Und diejenigen die wirklich viel mit den STM arbeiten, haben für die 
wichtigsten Sachen sowieso ihre eigenen Header (std. Timer, UART, SPI, 
I2C etc.) so das Cube da nicht mehr wirklich hilfreich sein kann. Und 
diejenigen die wirklich anfangen mit den STM zu arbeiten - stehen dann 
vor dem Problem das der Code nur bedingt das tut was er eigentlich soll.


AAAABER:

Was an Cube wirklich schön ist, das gebe ich gerne zu und habe ich auch 
oft genutzt, sind die Clock-Settings - Das ist wirklich sehr gut 
gemacht. DA würde ich mir sogar wünschen das dies weiter ausgearbeitet 
wird und der Code z.b. in einem eigenen Fenster "on-the-fly" für 
Copy-Paste ausgegeben wird. Weil diese Übersicht und das direkte 
Berechnen der Sub-Clocks für die Ports nimmt einen ne Menge Arbeit ab.
Gast #5093831
Lesenswert?

CubeMX ist halt keine IDE-das scheinen viele zu verwechseln.

Die HAL bringt zwar ne Menge Overhead mit (z.B. irgendwas um die 150 
Codezeilen um ein Byte aus der SPI rauszuschicken), scheint allerdings 
der Preis dessen zu sein, was die HAL bewerkstelligen soll.

Die CubeMX ist nur für den Einstellungskram-nicht um eine LED blinken zu 
lassen. Für den Einstellungskram ist Cube große Klasse, aber wer 
versucht darin Programme zu schreiben ist selber dran schuld. Zum 
Programmieren das Projekt eifach mal in einer richtigen IDE öffnen und 
in der main() einen Ausdruck beginnend mit "HAL_" eingeben, dann findet 
man sich recht schnell zurecht.
Moderator Persönliche Seite #5095004
Lesenswert?

Nichts :-)

Die Löschung bezog sich wohl auf den Eröffnungsbeitrag, offenbar einem 
Trollversuch.

Ich hatte heute Mittag schon mal versucht, den Thread 
wiederherzustellen, aber es nicht geschafft, die auf den TO-Beitrag 
folgenden Beiträge auch wieder herzustellen. Da stimmt irgendetwas 
nicht.

Offenbar geht es Andreas ähnlich ("Verschoben durch Admin") ;-)

Leider kann ich da weiter nichts tun.
Beitrag #5095301 wurde von einem Moderator gelöscht.
Beitrag #5095314 wurde von einem Moderator gelöscht.
Beitrag #5095347 wurde von einem Moderator gelöscht.
Beitrag #5095353 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren