PicoLibc C bibliotēka iegultām sistēmām ar ierobežotiem resursiem

Iegultais-C-

Kīts Pakards ir aktīvs Debian izstrādātājs un tas ir arī X.Org projekta vadītājs un arī radītājs no daudziem X paplašinājumiem, ieskaitot XRender, XComposite un XRandR. PicoLibc ir vēl viens no viņa darbiem un šī ir C bibliotēka kas ir izstrādāts izmantošanai iegultās ierīcēs ar ierobežotiem resursiem (tas ir, viņiem ir maz fiksētas atmiņas un RAM). Izstrādes laikā daļa koda tika aizgūta no Cygwin un AVR Libc projekta newlib bibliotēkas, kas tika izstrādāta Atmel AVR mikrokontrolleriem.

Kīts Pakards sāka izstrādāt pēc tam, kad nebija atradis pienācīgu Libc versiju, kuru varētu izmantot iegultās ierīcēs ar zemu RAM. Projekts attīstās kopš pagājušā gada. Pirmajā posmā projekts bija newlib variants, kurā stdio funkcijas tika aizstātas ar kompaktu avrlibc versiju (stdio in newlib netika pielāgots lielajam resursu patēriņam).

Tā kā Ķīnas pašreizējās aktivitātes ir saistītas ar notiekošo darbu pie RISC-V arhitektūras un iegulto ierīču rīku izstrādes, nesen pārbaudīja libc ieviešanas statusu y secināts no kā, ar nelielu kniebienu newlib un avrlibc kombinācija var būt labs universāls risinājums. Sākotnēji projekts tika izstrādāts ar nosaukumu "newlib-nano", taču, lai izvairītos no sajaukšanas ar Newlib bibliotēku, tas tika pārdēvēts par PicoLibc.

Par PicoLibc

Pašreizējā formā Picolibc jau ir paveicis darbu, lai noņemtu visu kodu, kas nav paredzēts BSD licencē (Šis kods netika izmantots komplektā iegultām ierīcēm), kas ievērojami vienkāršoja situāciju ar projekta licenci.

Tēmas vietējā ieviešana ir pārvietota no “struct _reent” uz TLS (Thread Local Storage) mehānismu. Kompaktā stdio versija ir iespējota pēc noklusējuma, kas ņemta no avrlibc bibliotēkas koda (ATmel specifiskie montētāja ieliktņi tiek pārrakstīti C).

Rīku rīki Mezons tiek izmantots apkopošanai, kas ļauj nepievienot newlib skriptus un vienkāršot izmaiņu pārsūtīšanu no newlib. Pirms vadības pārsūtīšanas uz galveno () funkciju ir pievienota inicializācijas koda (crt0) vienkāršota versija, kas pievienota izpildāmajam failam un izpildīta.

PicoLibc pirmkods tiek izplatīts ar BSD licenci un bibliotēka atbalsta ARM (32 bitu), i386, RISC-V, x86_64 un PowerPC arhitektūras.

Par jauno PicoLibc 1.1 versiju

Es nesen iepazīstināju ar PicoLibc 1.1 jaunās versijas izlaišanu, kurā ir pievienota palīgu bibliotēka, lai atbalstītu daļēji mitināšanas tehnoloģiju, A, kas ļauj kodam, kas darbojas atkļūdotāja vai emulatora vidē, izmantot resursdatora ievades / izvades mehānismus.

Sistēmām, kas atbalsta sistēmas zvanu atvēršanu, aizvēršanu, lasīšanu un rakstīšanu, tinystdio pievieno standartizētas POSIX I / O saskarnes, ieskaitot fopen un fdopen funkcijas, kā arī stdin / stdout / stderr saistīšanu ar POSIX definētiem failu aprakstiem.

  • Nesenās izmaiņas ir pārnestas no newlib kodu bāzes. Ieskaitot papildu libm celmus vietnei fenv.h, kurus var izmantot sistēmās bez aprēķinu atbalsta.
  • Pievienots Hello World lietojumprogrammu apkopošanas piemērs ar picolibc ARM un RISC-V sistēmām, kā arī noņemot direktorijas newlib, libm un mathfp, kurās bija neizmantots eksperimentālais kods.

Sāciet lietot Picolibc

Lai sāktu darbu ar Picolibc, jums jāzina, ka Picolibc izmanto mezona veidošanas sistēmu, lai kompilētu dažādām aparatūras platformām Linux resursdatorā, izmantojot GCC. Tāpēc viņiem ir jābūt mezonam kā izstrādes vides sastāvdaļai, turklāt tiem ir jāinstalē arī Python 3 un Ninja. Lai to izdarītu, varat iepazīties ar tā rokasgrāmatu Šajā saitē. 

Visbeidzot, lai iegūtu Picolibc kodu, to varat izdarīt, izmantojot šo saiti, kur jūs varat atrast nepieciešamo dokumentāciju. 

Vai tādā pašā veidā viņi var konsultēties šo ceļvedi, kuru atradu tīklā un ir detalizēta informācija.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.