Du vermischst da jetzt etwas die Bereiche Hardware und Anwendung beides braucht Software. Bei Linux kann jeder beliebiges an Libs Programmieren für seine Anwendungen. Er kann auch beliebiges im Kernel umbauen oder neu machen. Er kann aber nicht "wichtig" seine Kernel Änderungen nach belieben auf kernel.org und in den offiziellen Kernel Sourcecode verbreiten. Bei Arduino und mbed ist das anders dort wird alles in einem unübersichtlichem Wust auf der Projektseite angeboten. Mein aktuelles Beispiel mit dem oben genanntem Platinchen ist: der Compiler Meckert ein WiFi.h an aber der sagt nicht die Lib heißt DISOCO_STM32.xyz. Eine
Suche nach der Datei liefert 5 Libs die diese enthalten. Welche ist es jetzt? ... Antwort gar keine weil der Hersteller sein eigenes Süppchen kocht und diese Beispiel auf dem Platinchen alle nicht gehen. Es gibt ein eigenes Beispiel dafür das geht. Aber erkennen kann man das nur als Insider der Entwicklungsabteilungen nicht als Programmierer der für eine Lib ja der Anwender ist.
Was mir fehlt ist eine klarere Linie zwischen Hardware, Anwendung bzw. Softwareschnittstellen die z.B. Timer oder ähnl. immer gleich zur Verfügung stellen. Auch die Trennung zwischen offiziellem von Arduino oder mbed und dem was von dritten Programmiert ist muss leichter zu erkennen sein.
Wenn Du mit dem Raspi Programm unter Linux nichts tust was der Bananapi wegen Hardware die ihm fehlt nicht kann läuft es auf beiden. Kann wegen verschiedener Linux und Lib Versionen sein das es neu übersetzt werden muss. Das es läuft stellt der Kernel und seine Schnittstellen bzw. die der glibc sicher.
Soll ja nicht heißen das die da was schlechtes machen ... nur das man vielleicht noch ein bisschen Ordnung rein bringen muss

Lesezeichen