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?
Ja und? Warum ist es deshalb keine Library? Für mich zählt jede Sammlung von Funktionen als Library.
Ich habe für manche Zwecke auch eigene "Libs". Wie man soetwas bezeichnet ist einerlei.
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.
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.
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.
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.
Die Logik ist enthalten, die Umsetzung auf die physikalische Schicht jedoch nicht. Ist ja bei U(S)ART/RS232/RS422/RS485 auch so...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.