Hal und cube

Beitrag #5093477 wurde von einem Moderator gelöscht.
Oh da hat gerade jemand Hass ?


HAL an sich ist ja schon top. Aber Cube... Zu mehr als anklicken, 
Pinzuordnungen anschauen, Timer einstellen... Ja zu mehr ist das 
wirklich nicht zu gebrauchen. Der generierte Code, da sprechen wir mal 
lieber nicht drüber.
Gast
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.
Gast
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.
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
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.