PicoLibc una libreria C per sistemi embedded con risorse limitate

Incorporato-C-

Keith Packard è uno sviluppatore Debian attivo ed è anche il Capo progetto X.Org e anche creatore di molte estensioni X., inclusi XRender, XComposite e XRandR. PicoLibc è un altro dei suoi lavori e questa è una libreria C. che è stato sviluppato per l'uso in dispositivi embedded con risorse limitate (ovvero, hanno poco spazio di archiviazione fisso e RAM). Durante lo sviluppo, parte del codice è stato preso in prestito dalla libreria newlib del progetto Cygwin e AVR Libc, sviluppata per i microcontrollori Atmel AVR.

Keith Packard ha iniziato lo sviluppo dopo che non è riuscito a trovare una versione decente di Libc, che potesse essere utilizzata su dispositivi embedded con poca RAM. Il progetto si sta sviluppando dallo scorso anno. Nella prima fase, il progetto era una variante newlib, in cui le funzioni stdio sono state sostituite dalla versione compatta di avrlibc (stdio in newlib non è stato adattato al consumo pesante di risorse).

Poiché le attuali attività della Cina sono legate al lavoro in corso sull'architettura RISC-V e allo sviluppo di strumenti per dispositivi embedded, di recente controllato lo stato delle implementazioni libc y concluso di cosa, con una piccola modifica, la combinazione di newlib e avrlibc può essere una buona soluzione universale. Inizialmente, il progetto è stato sviluppato con il nome "newlib-nano", ma per evitare confusione con la libreria Newlib, è stato rinominato PicoLibc.

Informazioni su PicoLibc

Nella sua forma attuale, Picolibc ha già lavorato per rimuovere tutto il codice non fornito con la licenza BSD (Questo codice non è stato utilizzato nell'assembly per dispositivi embedded), il che ha notevolmente semplificato la situazione con la licenza del progetto.

L'implementazione locale del thread è stata spostata da "struct _reent" al meccanismo TLS (thread local storage). La versione compatta di stdio è abilitata di default, presa dal codice della libreria avrlibc (gli inserti assembler specifici di ATmel vengono riscritti in C).

Gli strumenti di Meson sono usati per la compilazioneQuali ti permette di non allegare script newlib e semplifica il trasferimento delle modifiche da newlib. È stata aggiunta una versione semplificata del codice di inizializzazione (crt0), allegata al file eseguibile ed eseguita prima di trasferire il controllo alla funzione main ().

Il codice sorgente di PicoLibc è distribuito con una licenza BSD e La libreria supporta le architetture ARM (32 bit), i386, RISC-V, x86_64 e PowerPC.

Informazioni sulla nuova versione di PicoLibc 1.1

Recentemente ho presentato il rilascio della nuova versione di PicoLibc 1.1, in cui è stata aggiunta una libreria helper per supportare la tecnologia semi-hosting, A che consente al codice in esecuzione in un ambiente debugger o emulatore di utilizzare meccanismi di input / output dal sistema host.

Per i sistemi che supportano le chiamate di sistema di apertura, chiusura, lettura e scrittura, tinystdio aggiunge interfacce I / O POSIX standardizzate, comprese le funzioni fopen e fdopen, così come l'associazione di stdin / stdout / stderr a descrittori di file definiti da POSIX.

  • Le modifiche recenti sono state trasferite dalla base del codice newlib. Compresi stub libm aggiuntivi per fenv.h, che possono essere utilizzati su sistemi senza supporto di calcolo.
  • Aggiunto l'esempio di compilazione dell'applicazione Hello World con picolibc per sistemi ARM e RISC-V, oltre alla rimozione delle directory newlib, libm e mathfp che contenevano codice sperimentale inutilizzato.

Inizia a usare Picolibc

Per iniziare a utilizzare Picolibc, dovresti sapere che Picolibc utilizza il sistema di compilazione meson per eseguire la compilazione per varie piattaforme hardware su un host Linux utilizzando GCC. Questo è il motivo per cui devono avere meson come parte dell'ambiente di sviluppo, oltre ad avere installato Python 3 e Ninja. Per questo puoi consultare la guida di esso nel seguente link 

Infine, per ottenere il codice Picolibc, puoi farlo dal seguente link, dove puoi trovare la documentazione necessaria. 

O allo stesso modo possono consultare la seguente guida l'ho trovata in rete e dispone di informazioni dettagliate.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.