mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 Bibliotheken


Autor: NXD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
kurze Frage zu den Bibliotheken für den STM32F429 auf 
http://mikrocontroller.bplaced.net/wordpress/?page_id=2736. Ist die 
Bezeichnung "libs" hier nicht etwas irreführend? ST liefert ja bereits 
Bibliotheken und bei denen auf der verlinkten Webseite handelt es sich 
doch wohl eher um eine Vereinfachung/Zusammenfassung oder sehe ich das 
falsch?

Autor: Sebastian V. (sebi_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja und? Warum ist es deshalb keine Library? Für mich zählt jede Sammlung 
von Funktionen als Library.

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe für manche Zwecke auch eigene "Libs".
Wie man soetwas bezeichnet ist einerlei.

Autor: STM32 Speizi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eine Library, die nichts anders als ein Wrapper für die 
STM-Library ist. Soll heißen, dass der durch die STM32 Library 
aufgeblähte Code nochmal aufgebläht wird. Leute, tut euch diesen Müll 
nicht an, das bremst die schnellsten Controller nur aus. Dann könnt ihr 
auch gleich wieder 8-Bit Microcontroller einsetzen. Wer einen Cortex 
effektiv programmieren möchte, nimmt sich das Datenblatt, nutzt die 
Header-Dateien der Library und programmiert alle Register selber. Das 
hat zum einen den Vorteil, dass man alles versteht, was man programmiert 
hat und nicht mit irgendwelchen Fehlern in Librarys rechnen muss und 
andererseits wird der Code kompakt und schnell. So mach ich das seit 
Jahren und bin immer gut damit gefahren.

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Machst du das auch bei komplexeren Sachen wie USB oder Ethernet so?

Autor: NXD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ging nur darum, dass ich damit eben Funktionen verbinde, die sich um 
den Zugriff auf die Register,aber die sind ja in den ST-Bibliotheken 
hinterlegt.

Autor: Adapter (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Rolf M. schrieb:
> Machst du das auch bei komplexeren Sachen wie USB oder Ethernet
> so?

Gute Frage. Das Problem ist, dass es so gut wie keine fehlerfreie USB 
oder Ethernet abstraktion gibt. Gerade der ST Code ist traditionell so 
geschrieben, dass er gerade mal genau das, was das Beispiel 
demonstrieren soll, irgendwie hinbekommt. Spätestens wenn man anfängt, 
Stressszenarien auszustesten (also zum Beispiel Dauertest über Ethernet 
mit grossen Paketen), tauchen sehr gern mal recht subtile Probleme mit 
dem ETH DMA Treiber auf. Dazu kommt, adss die Treiber normalerweise mit 
der Middleware kommen, d.h. je nachdem welchen Netzwerkstack Du einsetzt 
bekommst Du andere Ethernettreiber, die dann auch mal schlechter und mal 
nicht ganz so schlecht sind.

Bei USB ist es ähnlich (das habe ich im thread über USB Stix schon Mal 
angerissen).

Also zumindestens bei den "Umsonst" Ökosystemen der Anbieter und bei 
Open Source musst Du Nacharbeit einrechnen, solange Dir Feldtauglichkeit 
und Dauerstabilität wichtig sind.

Autor: NXD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte noch eine Frage zum CAN-Bus. Wozu benötigt man einen 
Tranceiver, um ein Bauteil über CAN-Bus anzusteuern? Der CAN ist doch 
bereits integriert.

Autor: Michael K. (kichi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Logik ist enthalten, die Umsetzung auf die physikalische Schicht 
jedoch nicht. Ist ja bei U(S)ART/RS232/RS422/RS485 auch so...

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Adapter schrieb:
> Rolf M. schrieb:
>> Machst du das auch bei komplexeren Sachen wie USB oder Ethernet
>> so?
>
> Gute Frage. Das Problem ist, dass es so gut wie keine fehlerfreie USB
> oder Ethernet abstraktion gibt. Gerade der ST Code ist traditionell so
> geschrieben, dass er gerade mal genau das, was das Beispiel
> demonstrieren soll, irgendwie hinbekommt.

Das ist gut zu wissen. Ich habe hier auch einen STM32, den ich demnächst 
programmieren will. Zunächst mal ohne Ethernet und USB, aber später soll 
beides noch dazu kommen. Bisher ist mir noch nicht so recht klar, womit 
ich da anfangen soll. Ich hab jetzt kein Problem damit, auch direkt mit 
Registern zu arbeiten, aber spätestens bei Ethernet und USB dürfte das 
doch ziemlich aufwändig werden. Ich hatte gehofft, da weitgehend auf 
bestehendes aufsetzen zu können.

> Also zumindestens bei den "Umsonst" Ökosystemen der Anbieter und bei
> Open Source musst Du Nacharbeit einrechnen, solange Dir Feldtauglichkeit
> und Dauerstabilität wichtig sind.

Ist zwar für ein privates Projekt, aber stabil muss es sein, sonst 
bringt es mir nichts.

NXD schrieb:
> Ich hätte noch eine Frage zum CAN-Bus. Wozu benötigt man einen
> Tranceiver, um ein Bauteil über CAN-Bus anzusteuern? Der CAN ist doch
> bereits integriert.

Der CAN-Controller ist integriert. Ein CAN-Transceiver aber nicht.

Michael K. schrieb:
> Ist ja bei U(S)ART/RS232/RS422/RS485 auch so...

Oder auch bei Ethernet. Da braucht man auch noch einen externen PHY.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.