Tranomboky C Standard PicoLibc 1.1 misy

Keith Packard, mpamorona Debian mavitrika, mpitarika ny tetikasa X.Org ary mpamorona ny fanitarana X maro, anisan'izany ny XRender, XComposite ary XRandR, nanaiky famoahana tranomboky C mahazatra vaovao PicoLibc 1.1, novolavolaina hampiasaina amin'ny fitaovana mipetaka misy fitehirizana maharitra sy RAM voafetra. Nandritra ny fampandrosoana, ny ampahany amin'ny kaody dia nindramina tao amin'ny tranomboky newlib avy amin'ny tetikasa Cygwin ary AVR Libc, novolavolaina ho an'ny microcontrollers Atmel AVR. PicoLibc code nozarain'i eo ambanin'ny lisansa BSD. Ny fivorian'ny tranomboky dia tohana ho an'ny maritrano ARM (32-bit), i386, RISC-V, x86_64 ary PowerPC.

Keith Packard dia nanomboka ny fampandrosoana taorian'ny tsy nahitany safidy Libc mendrika izay azo ampiasaina amin'ny fitaovana tafiditra amin'ny RAM kely. Efa hatramin’ny taon-dasa no nivoatra ny tetikasa. Tamin'ny dingana voalohany, ny tetikasa dia variana amin'ny newlib, ny fiasan'ny stdio izay nosoloina dikan-teny compact avy amin'ny avrlibc (tsy mety amin'ny fanjifana loharanon-karena be ny stdio in newlib). Satria ny asan'i Keith amin'izao fotoana izao dia misy ny asa mitohy miaraka amin'ny maritrano RISC-V sy ny fampivoarana fitaovana ho an'ny fitaovana tafiditra, dia nandinika ny toetry ny fampiharana libc izy ary nanatsoaka hevitra fa miaraka amin'ny fanovana kely, ny fitambaran'ny newlib sy avrlibc dia mety ho tanjona ankapobeny tsara. vahaolana. Tamin'ny voalohany, ny tetikasa dia novolavolaina tamin'ny anarana hoe "newlib-nano", saingy mba hisorohana ny fisafotofotoana amin'ny tranomboky Newlib dia novana anarana PicoLibc.

Amin'ny endriny ankehitriny, Picolibc dia efa nanao asa hanesorana ny kaody rehetra izay tsy omena amin'ny alΓ lan'ny fahazoan-dΓ lana BSD (tsy nampiasaina io kaody io rehefa manamboatra fitaovana tafiditra), izay nanatsotra tanteraka ny toe-draharaha tamin'ny fahazoan-dΓ lana ho an'ny tetikasa. Ny fampiharana ny renirano eo an-toerana dia nafindra avy amin'ny 'struct _reent' mankany amin'ny mekanika TLS (kofehy-toerana fitehirizana). Ny kinova compact an'ny stdio, nindramina avy amin'ny code library avrlibc, dia alefa amin'ny alΓ lan'ny default (ny fampidirana assembler manokana ATmel dia nosoratana tamin'ny C). Ny kitapo Meson dia nampiasaina ho an'ny fivoriambe, izay nahatonga ny tsy hifamatotra amin'ny script fivoriambe newlib ary hanatsorana ny famindrana fanovana avy amin'ny newlib. Nampiana dikan-teny tsotsotra amin'ny kaody fanombohana (crt0), mifatotra amin'ny rakitra azo tanterahana ary vita alohan'ny hamindrana ny fanaraha-maso amin'ny asa lehibe ().

Ao amin'ny Picolibc version 1.1:

  • Nanampy tranomboky fanampiny hanohanana ny teknolojia "semihosting"Mamela ny kaody mandeha amin'ny tontolo debugger na emulator hampiasa ny mekanika I/O an'ny rafitra mpampiantrano;
  • Ho an'ny rafitra manohana ny antso an-tariby misokatra, manidy, mamaky ary manoratra, ny tinystdio dia manampy ny POSIX stdio I/O manara-penitra, ao anatin'izany ny fopen sy fdopen, ary koa ny mamatotra ny stdin/stdout/stderr amin'ny POSIX-famaritana ny rakitra voafaritra;
  • Ny fanovana vao haingana avy amin'ny codebase newlib dia nentina. Anisan'izany ny libm stubs fanampiny ho an'ny fenv.h, izay azo ampiasaina amin'ny rafitra tsy misy fanohanana mitsingevana;
  • Nampiana ohatra iray amin'ny fananganana ny fampiharana "Hello world" miaraka amin'ny picolibc ho an'ny rafitra ARM sy RISC-V;
  • Nesorina ny lahatahiry newlib, libm ary mathfp, izay misy kaody andrana tsy ampiasaina.

Source: opennet.ru

Add a comment