PicoLibc një bibliotekë C për sistemet e ngulitura me burime të kufizuara

I ngulitur-C-

Keith Packard është një zhvillues aktiv i Debian dhe është gjithashtu X.Org udhëheqës i projektit dhe gjithashtu krijues e shumë X zgjerime, përfshirë XRender, XComposite dhe XRandR. PicoLibc është një tjetër nga veprat e tij dhe kjo është një bibliotekë C e cila është zhvilluar për përdorim në pajisjet e ngulitura me burime të kufizuara (domethënë, ata kanë pak hapësirë ​​fikse për ruajtje dhe RAM). Gjatë zhvillimit, një pjesë e kodit u huazua nga biblioteka newlib e projektit Cygwin dhe AVR Libc, e cila u zhvillua për mikrokontrolluesit Atmel AVR.

Keith Packard filloi zhvillimin pasi ai nuk mund të gjente një version të mirë të Libc, i cili mund të përdoret në pajisjet e ngulitura me RAM të ulët. Projekti është zhvilluar që nga viti i kaluar. Në fazën e parë, projekti ishte një variant i newlib, në të cilën funksionet e stdio u zëvendësuan nga versioni kompakt i avrlibc (stdio në newlib nuk ishte përshtatur me konsumin e madh të burimeve).

Meqenëse aktivitetet aktuale të Kinës kanë të bëjnë me punën e vazhdueshme në arkitekturën RISC-V dhe zhvillimin e mjeteve për pajisjet e ngulitura, kohët e fundit kontrolluar statusin e implementimeve të libc y konkluduar për çfarë, me pak shkulje, kombinimi i newlib dhe avrlibc mund të jetë një zgjidhje e mirë universale. Fillimisht, projekti u zhvillua me emrin "newlib-nano", por për të shmangur konfuzionin me bibliotekën Newlib, ai u riemërua në PicoLibc.

Rreth PicoLibc

Në formën e tij aktuale, Picolibc tashmë ka bërë punë për të hequr të gjithë kodin që nuk sigurohet nën licencën BSD (Ky kod nuk u përdor në asamble për pajisjet e ngulitura), gjë që thjeshtoi shumë situatën me licencën e projektit.

Zbatimi lokal i fijes është zhvendosur nga 'struktura _reent' në mekanizmin TLS (depo lokale). Versioni kompakt i stdio është aktivizuar si parazgjedhje, marrë nga kodi i bibliotekës avrlibc (insertet e mbledhësit specifikë për ATmel janë rishkruar në C).

Mjetet e Meson përdoren për përpilim, çfarë ju lejon të mos bashkangjitni skriptet newlib dhe të thjeshtoni transferimin e ndryshimeve nga newlib. Versionshtë shtuar një version i thjeshtuar i kodit të fillimit (crt0), i bashkangjitur skedarit të ekzekutueshëm, dhe ekzekutuar para se të transferohet kontrolli në funksionin kryesor ().

Kodi burimor i PicoLibc shpërndahet nën një licencë BSD dhe Biblioteka mbështet arkitekturat ARM (32-bit), i386, RISC-V, x86_64 dhe PowerPC.

Rreth versionit të ri të PicoLibc 1.1

Kohët e fundit prezantova lëshimin e versionit të ri të PicoLibc 1.1, në të cilin një bibliotekë ndihmëse është shtuar për të mbështetur teknologjinë gjysmë-host, Një që lejon që kodi të ekzekutohet në një mjedis korrigjues ose emulator të përdorë mekanizmat e hyrjes / daljes nga sistemi pritës.

Për sistemet që mbështesin thirrjet e sistemit të hapur, të mbyllur, të lexuar dhe të shkruar, tinystdio shton ndërfaqet e standardizuara POSIX I / O, duke përfshirë funksionet fopen dhe fdopen, si dhe lidhjen e stdin / stdout / stderr me përshkruesit e skedarëve të përcaktuar nga POSIX.

  • Ndryshimet e fundit janë bartur nga baza e kodit newlib. Përfshijnë elemente shtesë të libm për fenv.h, të cilat mund të përdoren në sisteme pa mbështetje për llogaritjen.
  • Shtoi shembullin e përpilimit të aplikacionit Hello World me picolibc për sistemet ARM dhe RISC-V, përveç heqjes së drejtorive newlib, libm dhe mathfp që përmbanin kod eksperimental të papërdorur.

Filloni të përdorni Picolibc

Në mënyrë që të filloni të përdorni Picolibc, duhet të dini se Picolibc përdor sistemin e ndërtimit të mesonit për të përpiluar platforma të ndryshme harduerësh në një host Linux duke përdorur GCC. Kjo është arsyeja pse ata duhet të kenë meson si pjesë të mjedisit të zhvillimit, përveç që kanë të instaluar Python 3 dhe Ninja. Për këtë ju mund të konsultoheni me udhëzuesin e tij Në lidhjen vijuese. 

Më në fund, për të marrë kodin Picolibc, mund ta bëni nga lidhja e mëposhtme, ku mund ta gjeni dokumentacioni i nevojshëm. 

Ose në të njëjtën mënyrë ata mund të konsultohen udhëzuesin e mëposhtëm që gjeta në internet dhe ka informacion të detajuar.


Përmbajtja e artikullit i përmbahet parimeve tona të etika editoriale. Për të raportuar një gabim klikoni këtu.

Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.