Keith Packard on aktiivinen Debian-kehittäjä ja se on myös X.Org-projektin johtaja ja myös luoja monista X-laajennuksista, mukaan lukien XRender, XComposite ja XRandR. PicoLibc on toinen hänen teoksistaan ja tämä on C-kirjasto joka on kehitetty käytettäväksi sulautetuissa laitteissa rajoitetuilla resursseilla (eli niillä on vähän kiinteää tallennustilaa ja RAM-muistia). Kehityksen aikana osa koodista on lainattu Cygwin and AVR Libc -projektin newlib-kirjastosta, joka on kehitetty Atmel AVR -mikro-ohjaimille.
Keith Packard aloitti kehityksen, kun hän ei löytänyt kunnollista versiota Libc: stä, jota voitiin käyttää sulautetuissa laitteissa. Hanketta on kehitetty viime vuodesta. Ensimmäisessä vaiheessa projekti oli newlib-muunnos, jossa stdio-toiminnot korvattiin kompaktilla avrlibc-versiolla (stdio in newlib ei sovitettu voimakkaaseen resurssien kulutukseen).
Koska Kiinan nykyinen toiminta liittyy viimeaikaiseen RISC-V-arkkitehtuuriin ja sulautettujen laitteiden työkalujen kehittämiseen tarkisti libc-toteutusten tilan y päätökseen mistä, pienellä säätämisellä newlibin ja avrlibc: n yhdistelmä voi olla hyvä yleinen ratkaisu. Alun perin projekti kehitettiin nimellä "newlib-nano", mutta sekaannusten välttämiseksi Newlib-kirjastoon se nimettiin uudelleen PicoLibc-nimeksi.
Tietoja PicoLibcistä
Nykyisessä muodossaan Picolibc on jo tehnyt töitä poistaakseen kaikki koodit, joita ei toimiteta BSD-lisenssillä (Tätä koodia ei käytetty upotettujen laitteiden kokoonpanossa), mikä yksinkertaisti huomattavasti projektilisenssin tilannetta.
Lankan paikallinen toteutus on siirretty "struct _reent" -muodosta TLS (thread local storage) -mekanismiin. Stdion pienikokoinen versio on oletusarvoisesti käytössä, otettuna avrlibc-kirjastokoodista (ATmel-spesifiset kokoonpanoyhdistelmät kirjoitetaan uudestaan C: hen).
Työkalut Mesonia käytetään kokoamiseen, mitä sallii sinun liittämättä newlib-komentosarjoja ja yksinkertaistaa muutosten siirtämistä newlibistä. Yksinkertaistettu versio alustuskoodista (crt0) on lisätty, liitetty suoritettavaan tiedostoon ja suoritettu ennen ohjauksen siirtämistä pääfunktiolle ().
PicoLibc-lähdekoodia jaetaan BSD-lisenssillä ja kirjasto tukee ARM (32-bittinen), i386, RISC-V, x86_64 ja PowerPC -arkkitehtuureja.
Tietoja PicoLibc 1.1: n uudesta versiosta
Esitin äskettäin PicoLibc 1.1: n uuden version julkaisun, jossa apukirjasto on lisätty tukemaan puolipalvelintekniikkaa, A, joka sallii virheenkorjaus- tai emulaattoriympäristössä käytetyn koodin käyttää isäntäjärjestelmän syöttö- / lähtömekanismeja.
Järjestelmille, jotka tukevat järjestelmäkutsujen avaamista, sulkemista, lukemista ja kirjoittamista, tinystdio lisää standardoidut POSIX I / O -rajapinnat, mukaan lukien fopen- ja fdopen-toiminnot sekä stdin / stdout / stderr-sidonta POSIX-määriteltyihin tiedostokuvaajiin.
- Viimeaikaiset muutokset on siirretty newlib-koodikannasta. Sisältää ylimääräisiä libm-tukia fenv.h: lle, joita voidaan käyttää järjestelmissä ilman laskentatukea.
- Lisättiin Hello World -sovelluskokoelmaesimerkki picolibc-sovelluksella ARM- ja RISC-V-järjestelmille sen lisäksi, että poistettiin käyttämättömää kokeellista koodia sisältävät hakemistot newlib, libm ja mathfp.
Aloita Picolibc-valmisteen käyttö
Picolibc-sovelluksen käytön aloittamiseksi sinun on tiedettävä, että Picolibc käyttää meson-rakennusjärjestelmää kääntäessään eri laitteistoalustoja Linux-isännässä GCC: n avulla. Siksi heillä on oltava meson osana kehitysympäristöä Python 3: n ja Ninjan asentamisen lisäksi. Tätä varten voit tutustua sen oppaaseen Seuraavassa linkissä.
Lopuksi, saadaksesi Picolibc-koodin, voit tehdä sen seuraavasta linkistä, josta löydät tarvittavat asiakirjat.
Tai samalla tavalla kuin he voivat kuulla seuraavan oppaan, jonka löysin netistä ja sillä on yksityiskohtaisia tietoja.