Forum: Mikrocontroller und Digitale Elektronik STM32 Bibliotheken


von NXD (Gast)


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?

von Sebastian V. (sebi_s)


Lesenswert?

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

von Bastler (Gast)


Lesenswert?

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

von STM32 Speizi (Gast)


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.

von Rolf M. (rmagnus)


Lesenswert?

Machst du das auch bei komplexeren Sachen wie USB oder Ethernet so?

von NXD (Gast)


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.

von Adapter (Gast)


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.

von NXD (Gast)


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.

von M. K. (kichi)


Lesenswert?

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

von Rolf M. (rmagnus)


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.

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.