Hallo liebe Forum Gemeinde, ich bin vor 2 Monate von Arduino auf "direktes AVR" programmieren umgestiegen - daher ggf. ist meine Frage für euch offensichtlich: Wo finde ich getestete relativ professionell oft benutzte libs für Funktionen, die sicherlich jeder von euch immer wieder braucht? Also zum Beispiel für HD44780, TWI, die vielen Kleinsensoren etc. Hintergrund: Ich komme aus der Linux-Welt, wo man sehr oft sehr gute "standard libs" bekommt und sich auf den "Kern" des Programms fokussieren kann. Bei Arduino IDE war das ähnlich - mit Wire.h "läuft" einfach TWI ohne Probleme, mit Lcd lib ein LCE etc. Z.B. habe ich hier ein I2C LCD Beispiel gefunden: Beitrag "I2CLCD Library für HD44780 LCDs" Dies baut auf einem Code i2cmaster.h von * Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury auf - die Seite gibt es nicht mehr Daher: Gibt es nicht für die AVR (ATMEGA) Community irgendwo einen "Hafen" für lib im Sinne einer open-source community mit ranking von "gutem" und "alpha-status" code? Vielen Dank! Tom
Tom schrieb: > Dies baut auf einem Code i2cmaster.h von * Author: Peter Fleury > <pfleury@gmx.ch> http://jump.to/fleury auf - die Seite gibt es nicht > mehr Fleury ist umgezogen: http://www.peterfleury.epizy.com/avr-software.html?i=1 Ich benutze die LCD und I²C Lib sehr gerne. twimaster.c für die Hardware TWI und i2cmaster.S für AVRs ohne TWI Hardware.
Hallo Danke für die Antwort: Die Lib war nur als Beispiel genannt - die Frage war allg. gemeint. Die Atmel chips werde ja auch im professionellen Bereich benutzt - es ist für mich schwer vorstellbar, dass hier immer "vom weißen Papier" neu entwickelt wird bzw. auf nicht durch die Community gecheckten Code aufgesetzt wird.
Tom schrieb: > es ist für mich schwer vorstellbar, dass hier immer > "vom weißen Papier" neu entwickelt wird bzw. auf nicht > durch die Community gecheckten Code aufgesetzt wird. Es gibt nur diese beiden Möglichkeiten: a) Du entwickelst deinen Code selber neu b) Du verwendest Open Source Code Deine Annahme, dass b) nicht durch die Community gecheckt sei, ist allerdings in vielen Fällen sicher nicht zutreffend. Die meisten Open-Source Entwickler veröffentlichen ihren Kram nämlich genau deswegen. Sie haben Interesse an Feedback und Verbesserungen, was man anhand der Release Notes und ggf. Historie im Source Repository nachvollziehen kann. Es gibt von Atmel eine Blibliothk namens ASF, ich weiß allerdings nicht, in welchem Zustand sie ist. Bei ST heisst das Pendant dazu Cube HAL. So etwas gibt es aber nicht für alle Mikrocontroller Serien. Eine allgemeine Bibliothek die auf alle Mikrocontroller passt, kann es nicht geben. Arduino ist ein Versuch in diese Richtung, allerdings mit vielen Nachteilen behaftet.
Tom schrieb: > Wo finde ich getestete relativ professionell oft benutzte libs für > Funktionen, die sicherlich jeder von euch immer wieder braucht? Du hast den Zweck von Test resp. Verifikation nicht verstanden. Du kommst nicht umhin die Bibliothek resp. die Einbindung derselben durch Dich selbst zu testen, egal wie die Lib als 'getestet von dritten' angepriesen wird. Du kannst aber nach libs suchen, die für den Test vorbereitet sind resp. eine gescheite Implentierungs-test Umgebung mitbringen. Mach Dich mal zum Thema DFT -> 'Design for Testability' schlau. https://www.elektronikpraxis.vogel.de/die-wichtigsten-design-for-test-regeln-fuer-elektronische-baugruppen-a-95416/ https://medium.com/@proteusinvents/development-of-firmware-test-processes-4726d88307b0 'Testautomatisierung' solltest du dir auch anschauen: https://www.embedded-testing.de/files/embeddedtesting/site/vortraege2019/tag2/Di1.3-Nikles.pdf
Ich habe Möglichkeit c vergessen: c) Du verwendest closed-source Bibliotheken Diese sind in der Regel nicht kostenlos und eben nicht durch die Community getestet. Da musst du dem Anbieter vertrauen, dass er sich ausreichend darum kümmert und ggf. Support leistet.
Angebot und Nachfrage regeln das doch automatisch. Du bekommst Libs mit Support, die kosten dann aber Geld. Das möchten viele für das Hobby nicht ausgeben, da bedient man sich lieber bei Open Source Code (und Werkzeugen). Hier ist die Qualität nun mal sehr unterschiedlich, jeder darf seinen Kram anbieten. Da ging bisher viel über Foren und hörensagen, jetzt finde ich das mit github und co. weseentlich besser organisiert als die z.B. hier im Forum hingeworfenen Brocken. Natürlich gibt es auf github auch viel Müll, aber mit dem Bewertungssystem und den Labels hat man schon mehr Möglichkeit etwas vorab zu filtern. Und es ist eben Quellcode den man selber ansehen kann. AVR benutze ich sogut wie gar nicht mehr, Cortex-M sind besserer Ersatz mit viel grösserer Bandbreite im Angebot. Und da bin ich Fan von Mbed-os, das wird professionel von ARM entwickelt und kostenlos zur Verfügung gestellt. Incl. RTOS und USB, Ethernet, SD Support was auch mal viel Geld gekostet hat. Bzw. noch viel Geld kostet, man kann ja immer noch Keil oder Segger oder IAR Compiler und Middleware kaufen. ARM als Lizenzgeber kann das darüber finanzieren, bei anderen muss man immer fragen wie sich das tragen soll. Wenn eine Lib gut ist, dann kommen viele User und die wollen auch Support haben und haben Wünsche. die Wire Lib ist ein gutes Beispiel, die User wurden so unverschämt das der Entwickler die Brocken hingeworfen und den Support eingestellt hat.
Tom schrieb: > Bei Arduino IDE war das ähnlich - mit Wire.h "läuft" einfach TWI ohne > Probleme, mit Lcd lib ein LCE etc. Es ist durchaus möglich, sich die Arduino-Bibliotheken auf plain C umzuschreiben. Sicher wird das z.B. bei der universellen Adafruit Grafik-Lib etwas schwieriger sein, aber sowas wie Text-LCD, Sensoren, I2C, SPI u.ä. dürfte für jemand mit Deinem Kenntnisstand (Arduino, Linux) machbar sein.
Johannes S. schrieb: > Und da bin ich Fan von > Mbed-os, das wird professionel von ARM entwickelt und kostenlos zur > Verfügung gestellt. Incl. RTOS und USB, Ethernet, SD Support was auch > mal viel Geld gekostet hat. Bzw. noch viel Geld kostet, man kann ja > immer noch Keil oder Segger oder IAR Compiler und Middleware kaufen. Bei SEGGER kann man fast alles unter der "SEGGER’s Friendly License" benutzen, was im Prinzip nichts anderes heißt als das man es für nicht kommerzielle Projekte kostenlos einsetzen darf. Das gilt z.B. für die IDE/Compiler, RTOS, Middleware, usw. Es gibt also heutzutage für Hobbyisten eine Menge "Standard Libs" und Tools (egal ob von Kei/ARM, SEGGER oder jemand anderen). https://www.segger.com/purchase/licensing/license-sfl/ Hilft jetzt leider nicht bei AVR aber für Cortex-M ist ES Pro ganz interessant: https://www.segger.com/products/development-tools/embedded-studio/editions/pro-cortex-m/ * *kann Spuren von Werbung enthalten, zu Risiken und Nebenwirkungen lesen Sie die Manuals und fragen Sie Ihren Kollegen oder Chef
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.