PicoLibc baliabide gutxi dituzten sistema txertatuentzako C liburutegia

Txertatutako-C-

Keith Packard Debian garatzaile aktiboa da eta baita ere X.Org proiektuaren burua eta sortzailea ere X luzapen askorenak, XRender, XComposite eta XRandR barne. PicoLibc da bere lanetako beste bat eta hau C liburutegia da kapsulatutako gailuetan erabiltzeko garatua baliabide mugatuekin (hau da, biltegiratze espazio finkoa eta RAM gutxi dute). Garapenean zehar, kode batzuk Cygwin eta AVR Libc proiektuko Liblib liburutegitik hartu ziren, Atmel AVR mikrokontrolagailuetarako garatuak.

Keith Packard garatzen hasi zen Libc-en bertsio duina aurkitu ezin zuenean, RAM baxuko kapsulatutako gailuetan erabil zitekeena. Proiektua iaztik garatzen ari da. Lehen etapan, proiektua newlib aldaera zenbertan stdio funtzioak avrlibc-en bertsio trinkoarekin ordezkatu ziren (stdio newlib-en ez zegoen baliabideen kontsumo handira egokituta).

Txinaren uneko jarduerak RISC-V arkitekturari eta gailu txertatuetarako tresnen garapenari buruzko etengabeko lanarekin lotuta daudenez libc inplementazioen egoera egiaztatu du y ondorioztatu du zertaz, moldaketa txiki batekin, newlib eta avrlibc konbinazioa irtenbide unibertsal ona izan daiteke. Hasieran, proiektua "newlib-nano" izenarekin garatu zen, baina Newlib liburutegiarekin nahastea ekiditeko, PicoLibc izena aldatu zitzaion.

PicoLibc-i buruz

Gaur egungo moduan, Picolibc-ek BSD lizentziarekin ematen ez den kode guztiak kentzeko lanak egin ditu dagoeneko (Kode hau ez zen gailu txertatuetarako muntaketan erabili), eta horrek asko erraztu zuen egoera proiektuaren lizentziarekin.

Hariaren tokiko inplementazioa 'struct _reent' tik TLS (Haria Tokiko Biltegiratze Lokala) mekanismora eraman da. Stdio-ren bertsio trinkoa lehenespenez gaituta dago, avrlibc liburutegiaren kodetik hartua (ATmel berariazko muntatzaileen txertaketak C-n berridazten dira).

Tresnak Meson konpilaziorako erabiltzen dira, zer aukera ematen du newlib script-ak ez erantsi eta newlib-tik aldaketak transferitzea errazteko. Hasierako kodearen bertsio sinplifikatua (crt0) gehitu da, fitxategi exekutagarriari atxikita, eta exekutatu da kontrola main () funtziora transferitu aurretik.

PicoLibc-en iturburu kodea BSD lizentziapean banatzen da eta Liburutegiak ARM (32 biteko), i386, RISC-V, x86_64 eta PowerPC arkitekturak onartzen ditu.

PicoLibc 1.1 bertsio berriari buruz

Duela gutxi aurkeztu dut PicoLibc 1.1 bertsio berriaren bertsioa, bertan laguntza-liburutegia gehitu da erdi-ostatatzeko teknologiari laguntzeko, A arazle edo emulatzaile ingurune batean exekutatzen den kodea ostalari sistemako sarrera / irteera mekanismoak erabiltzeko aukera ematen duen A.

Ireki, itxi, irakurri eta idazteko sistema deiak onartzen dituzten sistemetarako, tinystdio POSIX I / O interfaze estandarizatuak gehitzen ditu, fopen eta fdopen funtzioak barne, baita stdin / stdout / stderr POSIXek definitutako fitxategi deskribatzaileekin lotzea.

  • Azken aldaketak liburu berriaren kodearen oinarritik eraman dira. Fenv.h-rako libm zirriborro gehigarriak barne, kalkulu euskarririk gabeko sistemetan erabil daitezkeenak.
  • Hello World aplikazioen konpilazio adibidea gehitu da picolibc-ekin ARM eta RISC-V sistemetarako, erabili gabeko kode esperimentala zuten newlib, libm eta mathfp direktorioak kentzeaz gain.

Hasi Picolibc erabiltzen

Picolibc-ekin hasteko, jakin behar duzu Picolibc-ek meson build sistema erabiltzen duela GCC erabiliz Linux ostalari bateko hardware plataforma desberdinak biltzeko. Horregatik, mesoia izan behar dute garapen ingurunearen zati gisa, Python 3 eta Ninja instalatuta edukitzeaz gain. Horretarako bertako gida kontsulta dezakezu Hurrengo estekan. 

Azkenean, Picolibc kodea lortzeko, honako estekan egin dezakezu, bertan aurki dezakezu beharrezko dokumentazioa. 

Edo kontsultatu dezaketen modu berean sarean aurkitu nuen hurrengo gida eta informazio zehatza du.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko.

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.

bool (egia)