PicoLibc yon bibliyotèk C pou sistèm entegre ak resous limite

entegre-C-

Keith Packard se yon pwomotè aktif Debian epi li se tou la X.Org lidè pwojè ak kreyatè tou nan anpil ekstansyon X., ki gen ladan XRender, XComposite, ak XRandR. PicoLibc se yon lòt nan travay li yo e sa se yon bibliyotèk C. ki devlope pou itilize nan aparèy entegre ak resous limite (se sa ki, yo gen ti espas depo fiks ak RAM). Pandan devlopman, kèk nan kòd la te prete nan bibliyotèk newlib Cygwin ak AVR Libc pwojè a, ki te devlope pou mikrokontroleur Atmel AVR yo.

Keith Packard te kòmanse devlopman apre li pa t 'kapab jwenn yon vèsyon desan nan Libc, ki ta ka itilize sou ki ba-RAM aparèy entegre. Pwojè a te devlope depi ane pase. Nan premye etap la, pwojè a se te yon variante newlib, nan ki fonksyon yo stdio yo te ranplase pa vèsyon an kontra enfòmèl ant nan avrlibc (stdio nan newlib pa te adapte yo ak konsomasyon nan lou nan resous).

Depi aktivite aktyèl Lachin nan ki gen rapò ak travay kontinyèl sou achitekti RISC-V ak devlopman nan zouti pou entegre aparèy, dènyèman tcheke estati a nan aplikasyon libc y konkli de kisa, avèk yon ti reglaj, konbinezon newlib ak avrlibc kapab yon bon solisyon inivèsèl. Okòmansman, pwojè a te devlope sou non "newlib-nano", men pou evite konfizyon ak bibliyotèk Newlib la, li te chanje non PicoLibc.

Konsènan PicoLibc

Nan fòm li ye kounye a, Picolibc te deja fè travay yo retire tout kòd ki pa bay anba lisans lan BSD (Kòd sa a pa te itilize nan asanble a pou aparèy entegre), ki anpil senplifye sitiyasyon an ak lisans pwojè a.

Fil aplikasyon lokal yo te deplase soti nan 'struct _reent' nan TLS (fil lokal Depo) mekanis. Se vèsyon an kontra enfòmèl ant nan stdio pèmèt pa default, yo te pran nan kòd la bibliyotèk avrlibc (ATMel-espesifik foure asanble yo reyekri nan C).

Zouti yo nan Meson yo te itilize pou konpilasyon, Kisa pèmèt ou pa tache script newlib epi senplifye transfere chanjman nan newlib. Yon vèsyon senplifye nan kòd inisyalizasyon (crt0) te ajoute, tache ak dosye ègzèkutabl la, epi egzekite anvan transfere kontwòl nan fonksyon prensipal la ().

Kòd la sous nan PicoLibc distribiye anba yon lisans BSD ak Bibliyotèk la sipòte ARM (32-bit), i386, RISC-V, x86_64, ak achitekti PowerPC.

Sou nouvo vèsyon PicoLibc 1.1

Mwen fèk prezante liberasyon an nan nouvo vèsyon an PicoLibc 1.1, nan ki gen yon bibliyotèk k'ap ede te sipòte semi-hosting teknoloji, Yon ki pèmèt kòd kouri nan yon anviwònman debugger oswa Emulation yo sèvi ak mekanis opinyon / pwodiksyon soti nan sistèm nan lame.

Pou sistèm ki sipòte louvri, fèmen, li, ak ekri apèl sistèm, tinystdio ajoute estanda POSIX I / O interfaces, ki gen ladan fonksyon fopen ak fdopen, osi byen ke obligatwa nan stdin / stdout / stderr POSIX-defini dosye deskriptè.

  • Dènye chanjman yo te pote soti nan baz kòd newlib la. Ki gen ladan souch libm adisyonèl pou fenv.h, ki ka itilize sou sistèm san sipò kalkil.
  • Te ajoute egzanp Hello World konpilasyon aplikasyon an ak picolibc pou ARM ak sistèm RISC-V, nan adisyon a retire newlib, libm, ak mathfp repèrtwar ki genyen kòd eksperimantal ki pa itilize.

Kòmanse itilize Picolibc

Yo nan lòd yo kòmanse lè l sèvi avèk Picolibc, ou ta dwe konnen ke Picolibc fè pou sèvi ak sistèm lan bati meson yo konpile pou tribin divès kalite pyès ki nan konpitè sou yon lame Linux lè l sèvi avèk GCC. Se poutèt sa yo dwe gen meson kòm yon pati nan anviwònman an devlopman, nan adisyon a gen Python 3 ak Ninja enstale. Pou sa ou ka konsilte gid la nan li Nan lyen sa a. 

Finalman, yo nan lòd yo jwenn kòd la Picolibc, ou ka fè l 'soti nan lyen sa a, kote ou ka jwenn dokiman ki nesesè yo. 

Oswa nan menm fason an yo ka konsilte gid sa a mwen jwenn sou nèt la e li gen enfòmasyon detaye.


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

Se pou premye a fè kòmantè

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.