PicoLibc una biblioteca C per a sistemes encastats amb recursos limitats

Embedded-C-

Keith Packard és un desenvolupador actiu de Debian ia més és el líder d'el projecte X.Org i a més creador de moltes extensions X, Incloses XRender, XComposite i XRandR. PicoLibc és un altre dels seus treballs i aquesta és una biblioteca C que és desenvolupada per al seu ús en dispositius integrats amb recursos limitats (és a dir que compten amb poc espai d'emmagatzematge fix i RAM). Durant el desenvolupament, part de el codi es va prendre prestat de la biblioteca newlib de el projecte Cygwin i AVR Libc, que es va desenvolupar per als microcontroladors Atmel AVR.

Keith Packard va començar el desenvolupament després que no va poder trobar una versió decent de Libc, que podria usar-se en dispositius integrats amb poca RAM. El projecte es desenvolupa des de l'any passat. A la primera etapa, el projecte era una variant newlib, En què les funcions stdio van ser reemplaçades per la versió compacta de avrlibc (stdio en newlib no s'adaptava a el gran consum de recursos).

Atès que les activitats actuals de la Xina estan relacionades amb el treball en curs amb l'arquitectura RISC-V i el desenvolupament d'eines per a dispositius integrats, recentment va revisar l'estat de les implementacions de libc y va arribar a la conclusió que, amb un petit ajust, la combinació de newlib i avrlibc pot ser una bona solució universal. Inicialment, el projecte es va desenvolupar sota el nom «newlib-nano», però per evitar confusions amb la biblioteca Newlib, es renombró a PicoLibc.

sobre PicoLibc

En la seva forma actual, Picolibc ja ha realitzat treballs per eliminar tot el codi que no es proporciona sota la llicència BSD (Aquest codi no es va utilitzar en l'acoblament per a dispositius integrats), el que va simplificar enormement la situació amb la llicència d'el projecte.

La implementació de subprocessos locals s'ha mogut de 'struct _reent' a l'mecanisme TLS (emmagatzematge local de subprocessos). La versió compacta de stdio s'activa per defecte, presa de el codi de la biblioteca avrlibc (les insercions d'assemblador específiques de Atmel es reescriuen en C).

Les eines de Meson s'utilitzen per a la compilació, El que permet no adjuntar els scripts de newlib i simplificar la transferència de canvis des newlib. S'ha afegit una versió simplificada de el codi d'inicialització (crt0), s'adjunta a l'arxiu executable i s'executa abans de transferir el control a la funció main ().

El codi font de PicoLibc és distribuït sota una llicència BSD i la biblioteca és compatible amb les arquitectures ARM (32 bits), i386, RISC-V, x86_64 i PowerPC.

Sobre la nova versió de PicoLibc 1.1

Fa poc va presentar el llançament de la nova versió de PicoLibc 1.1, en la qual s'ha afegit una biblioteca auxiliar per admetre la tecnologia de «semihosting», que permet que el codi que s'executa en l'entorn d'un depurador o emulador usi mecanismes d'entrada / sortida de sistema host.

Per als sistemes que admeten trucades de sistema d'obertura, tancament, lectura i escriptura, tinystdio afegeix interfícies d'E / S POSIX estandarditzades, incloses les funcions fopen i fdopen, així com la vinculació de stdin / stdout / stderr a descriptors d'arxiu definits per POSIX.

  • S'han transferit els canvis recents de la base de el codi newlib. Incloent stubs de libm addicionals per fenv.h, que es poden usar en sistemes sense suport per a càlculs.
  • Es va agregar l'exemple de compilació de l'aplicació Hello World amb picolibc per a sistemes ARM i RISC-V, a més de que es van eliminar els directoris newlib, libm i mathfp que contenien codi experimental no utilitzat.

Començar a utilitzar Picolibc

Per poder començar a utilitzar Picolibc, han de saber que aquest fa ús de sistema de compilació meson per compilar per a diverses plataformes de maquinari en un host Linux utilitzant GCC. És per això que han de comptar amb meson com a part de l'entorn de desenvolupament, a més que han de comptar amb Python 3 i Ninja instal·lats. Per a això poden consultar la guia d'això en el següent enllaç. 

Finalment per poder obtenir el codi de Picolibc ho poden fer des del següent enllaç, on podran trobar la documentació necessària. 

O de la mateixa manera poden consultar la següent guia que vaig trobar a la xarxa i té informació detallada.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.