Picolibc: Neue C-Bibliothek für Embedded-Systeme vorgestellt

Der langjährige Unix- und X11-Entwickler Keith Packard arbeitet inzwischen für die RISC-V-Spezialisten von Sifive und hat dort eine neue C-Standardbibliothek erstellt. Diese soll sich besonders für Embedded-Systeme mit wenigen Ressourcen eignen.

Artikel veröffentlicht am ,
Die Picolibc soll für Mikrocontroller genutzt werden, auch jene von Sifive.
Die Picolibc soll für Mikrocontroller genutzt werden, auch jene von Sifive. (Bild: Sifive)

Der Entwickler Keith Packard hat in seinem Blog die erste stabile Version der Picolibc angekündigt. Dabei handelt sich um eine neue Implementierung der Standardbibliothek für die Sprache C, die speziell für den Einsatz auf Embedded-Geräten gedacht ist. In der Bibliothek wurden verschiedene Codebestandteile anderer Projekte sowie neuer Code von Packard zusammengeführt.

Packard selbst ist seit mehreren Jahrzehnten an der Entwicklung von Unix-artigen Systemen beteiligt, allen voran dem X11-Fenstersystem, und hat damit eine entsprechend lange Erfahrung im Umgang mit der Sprache C. Seit Mitte Juli dieses Jahres arbeitet Packard für die RISC-V-Spezialisten Sifive an der Verbesserung der Entwicklungswerkzeuge für Embedded-Systeme mit der freien CPU-Architektur. Das neue Projekt zielt dabei klar auf den Einsatz auf kleinen Mikrocontrollern und nicht auf die Verwendung mit leistungsstärkeren CPUs und einem kompletten Linux-System.

Für die nun verfügbare Picolibc hat Packard den Code der Newlib als Ausgangspunkt seiner Arbeiten genommen. Darin hat der Entwickler die IO-Bestandteile durch jene aus der AVR-Libc ersetzt und den neuen Code auch in anderen Punkten weiter optimiert. Für RISC-V wird etwa durch spezifische Änderungen schnellerer und kleinerer Code erzeugt. Die Verwendung des Build-Systems Meson soll außerdem das Bauen der Bibliothek beschleunigen.

Als Teil der Picolibc hat Packard auch eine Picocrt erstellt, die für das Initialisieren des Arbeitsspeichers und den Aufruf verschiedener Konstruktoren zuständig ist, bevor das eigene C-Programm die Main-Funktion aufruft. Der Code der Picolibc findet sich auf Github. Der Code besteht ausschließlich aus Bestandteilen unter BSD-Lizenz oder ähnlich freizügigen Lizenzen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Landkreis Lüneburg
Anwohner mit Ponys protestieren gegen Telekom-Sendemast

Ein 40 Meter hoher Funkmast lässt Bewohner im Großraum Lüneburg um ihr Leben fürchten. Besonders den Ponyhof sieht man durch 5G bedroht.

Landkreis Lüneburg: Anwohner mit Ponys protestieren gegen Telekom-Sendemast
Artikel
  1. Macbook Air 15: Apple bringt das Macbook Air in groß
    Macbook Air 15
    Apple bringt das Macbook Air in groß

    Mit 15,3-Zoll-Panel soll das Macbook Air 15 mehr Platz auf dem Desktop haben. Außerdem senkt Apple das 13-Zoll-Modell im Preis.

  2. Sparkassen: 15 Millionen Girocards erhalten Onlinefunktion
    Sparkassen
    15 Millionen Girocards erhalten Onlinefunktion

    Bis zum Jahresende wollen die Sparkassen rund ein Drittel der EC-Karten austauschen; sie erhalten Funktionen von Mastercard oder Visa.

  3. KI-Texte erkennen: Wer hat's geschrieben, Mensch oder Maschine?
    KI-Texte erkennen
    Wer hat's geschrieben, Mensch oder Maschine?

    Modelle wie ChatGPT sind so gut, dass sich KI- und Menschen-Texte kaum unterscheiden lassen. Forscher arbeiten nun an Verfahren, die sich nicht täuschen lassen.
    Ein Deep Dive von Andreas Meier

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • PS5 inkl. GoW Ragnarök oder CoD MW2 549€ • MSI RTX 4070 Ti 999€ • Gigabyte 43" 4K UHD 144 Hz 717€ • Amazon FireTV Smart-TVs bis -32% • MindStar: AMD Ryzen 7 5800X3D 285€, PowerColor RX 7900 XTX Hellhound 989€ • SanDisk Ultra NVMe 1TB 39,99€ • Samsung 980 1TB 45€ [Werbung]
    •  /