PicoLibc eng C Bibliothéik fir agebett Systemer mat limitéierte Ressourcen

Embedded-C-

De Keith Packard ass en aktiven Debian Entwéckler an et ass och de X.Org Projet Leader an och Schëpfer vu ville X Extensions, abegraff XRender, XComposite, an XRandR. PicoLibc ass eng aner vu senge Wierker an dëst ass eng C Bibliothéik déi fir Gebrauch an agebett Geräter entwéckelt gëtt mat limitéierte Ressourcen (dat heescht, si hu wéineg fixe Späicherplatz a RAM). Wärend der Entwécklung gouf e puer vum Code aus der Newlib Bibliothéik vum Cygwin an AVR Libc Projet ausgeléint, déi fir d'Atmel AVR Mikrocontroller entwéckelt gouf.

De Keith Packard huet d'Entwécklung ugefaang nodeems hien keng anstänneg Versioun vu Libc fonnt huet, déi op Low-RAM embedded Geräter benotzt ka ginn. De Projet huet sech zënter dem leschte Joer entwéckelt. An der éischter Etapp, de Projet war eng newlib Variant, an där d'Stdio-Funktiounen duerch déi kompakt Versioun vun avrlibc ersat goufen (stdio zu newlib war net dem schwéiere Verbrauch vu Ressourcen ugepasst).

Zënter China seng aktuell Aktivitéite bezéien sech op lafend Aarbecht op der RISC-V Architektur an der Entwécklung vun Tools fir agebett Geräter, viru kuerzem de Status vun de libc Implementatiounen iwwerpréift y ofgeschloss vun Wat, mat e bëssen Tweak kann d'Kombinatioun vun newlib an avrlibc eng gutt universell Léisung sinn. Ufanks gouf de Projet ënner dem Numm "newlib-nano" entwéckelt, awer fir Duerchernee mat der Newlib Bibliothéik ze vermeiden, gouf en op PicoLibc ëmbenannt.

Iwwer PicoLibc

A senger aktueller Form, Picolibc huet scho geschafft fir all Code ze läschen deen net ënner der BSD Lizenz gëtt (Dëse Code gouf net an der Versammlung fir agebett Geräter benotzt), wat d'Situatioun mat der Projektlizenz staark vereinfacht huet.

Thread lokal Implementatioun ass vu 'struct _reent' op TLS (thread local storage) Mechanismus geréckelt ginn. Déi kompakt Versioun vu stdio ass standardméisseg aktivéiert, geholl vum avrlibc Bibliothéikcode (ATmel-spezifesch Assembléier-Inserts ginn an C ëmgeschriwwen).

D'Instrumenter vun Meson gi fir Kompiléierung benotzt, waat erlaabt Iech net Newlib Skripte bäizefügen an Ännerunge vun newlib z'iwwerdroen. Eng vereinfacht Versioun vum Initialiséierungscode (crt0) gouf derbäigesat, un déi ausführbar Datei befestegt an ausgefouert ier e Kontroll op d'Haaptfunktioun () transferéiert.

De Quellcode vu PicoLibc gëtt ënner enger BSD Lizenz verdeelt an D'Bibliothéik ënnerstëtzt ARM (32-Bit), i386, RISC-V, x86_64 a PowerPC Architekturen.

Iwwer déi nei Versioun vum PicoLibc 1.1

Ech hunn viru kuerzem d'Verëffentlechung vun der neier Versioun vum PicoLibc 1.1 presentéiert, an där eng Helferbibliothéik gouf derbäi fir Semi-Hosting Technologie z'ënnerstëtzen, A deen de Code an engem Debugger oder Emulator Ëmfeld erlaabt Input / Output Mechanismen aus dem Host System ze benotzen.

Fir Systemer déi oppen, zoumaachen, liesen a schreiwe Systemanrufe ënnerstëtzen, tinystdio füügt standardiséierte POSIX I / O Interfaces bäi, abegraff fopen an fdopen Funktiounen, souwéi Bindung vu stdin / stdout / stderr zu POSIX-definéierte Dateibeschreiwer.

  • Rezent Ännerunge goufen vun der newlib Code Base iwwerdroen. Inklusiv zousätzlech Libm Stëps fir fenv.h, déi op Systemer ouni Berechnungshëllef kënne benotzt ginn.
  • D'Hello World Applikatioun Kompilatioun Beispill mat Picolibc fir ARM a RISC-V Systeme bäigefüügt, zousätzlech zu der Entfernung vun den newlib, libm a mathfp Verzeechnes déi onbenotzten experimentelle Code enthale sinn.

Start mat Picolibc

Fir mat Picolibc unzefänken, sollt Dir wëssen datt Picolibc de Meson Build System benotzt fir verschidde Hardware Plattformen op engem Linux Host mat GCC ze kompiléieren. Dofir musse se Meson als Deel vum Entwécklungsëmfeld hunn, zousätzlech datt de Python 3 an Ninja installéiert sinn. Fir dëst kënnt Dir de Guide dovun consultéieren An de folgende Link. 

Schlussendlech, fir de Picolibc Code ze kréien, kënnt Dir et aus folgendem Link maachen, wou Dir fannt déi néideg Dokumentatioun. 

Oder op déiselwecht Manéier wéi se kënne consultéieren de folgende Guide hunn ech am Netz fonnt an huet detailléiert Informatiounen.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.