Библиотека PicoLibc a C за вградени системи со ограничени ресурси

Вграден-C-

Кит Пакард е активен развивач на Debian и тоа е исто така X.Org водач на проектот и исто така творец на многу X екстензии, вклучително и XRender, XComposite и XRandR. PicoLibc е уште едно од неговите дела и ова е C библиотека кој е развиен за употреба во вградени уреди со ограничени ресурси (што е, тие имаат мал фиксен простор за складирање и RAM меморија). За време на развојот, дел од кодот беше позајмен од библиотеката за нови книги на Cygwin и AVR Libc, која беше развиена за микроконтролерите Atmel AVR.

Кит Пакард започна со развој откако не успеа да најде пристојна верзија на Libc, што може да се користи на вградени уреди со ниска RAM меморија. Проектот се развива од минатата година. Во првата фаза, проектот беше варијанта на нов лилиб, во која функциите на stdio беа заменети со компактната верзија на avrlibc (stdio во newlib не беше прилагодена на големата потрошувачка на ресурси).

Бидејќи тековните активности на Кина се поврзани со тековната работа на RISC-V архитектурата и развојот на алатки за вградени уреди, неодамна го провери статусот на имплементациите на libc y заклучи од што, со малку измени, комбинацијата на newlib и avrlibc може да биде добро универзално решение. Првично, проектот беше развиен под името "newlib-nano", но за да се избегне забуна со библиотеката Newlib, беше преименуван во PicoLibc.

За PicoLibc

Во сегашната форма, Picolibc веќе заврши работа за отстранување на целиот код што не е даден според лиценцата BSD (Овој код не беше користен во склопот за вградени уреди), што во голема мера ја поедностави ситуацијата со проектната лиценца.

Локалната имплементација на низата е преместена од механизмот за структура „структура _реден“ во TLS (локално складирање на нишки). Компактната верзија на stdio е стандардно овозможена, преземена од кодот на библиотеката avrlibc (инсертите за составувачи специфични за ATmel се препишуваат во C).

Алатките на Мезоните се користат за компилација, што ви овозможува да не прикачувате скрипти newlib и да ги поедноставувате преносите на промените од newlib. Додадена е поедноставена верзија на кодот за иницијализација (crt0), прикачена на извршната датотека и извршена пред да се пренесе контролата во главната () функција.

Изворниот код на PicoLibc е дистрибуиран под лиценца БСД и Библиотеката поддржува архитектури ARM (32-битни), i386, RISC-V, x86_64 и PowerPC.

За новата верзија на PicoLibc 1.1

Неодамна го претставив објавувањето на новата верзија на PicoLibc 1.1, во која додадена е помошна библиотека за поддршка на полу-хостинг технологија, А што дозволува кодот да работи во околина за дебагер или емулатор да користи механизми за влез / излез од системот домаќин.

За системи што поддржуваат отворени, затворени, читаат и пишуваат системски повици, tinystdio додава стандардизирани интерфејси POSIX I / O, вклучително и функции на fopen и fdopen, како и врзување на stdin / stdout / stderr со опишувачите на датотеки дефинирани со POSIX.

  • Неодамнешните промени се пренесени од базата за кодови на новиот лилиб. Вклучувајќи дополнителни никулци за libm за fenv.h, што може да се користат на системите без поддршка за пресметка.
  • Додаден е примерот за компилација на апликации Hello World со picolibc за системите ARM и RISC-V, покрај отстранувањето на директориумите newlib, libm и mathfp кои содржеа неискористен експериментален код.

Започнете да го користите Picolibc

За да започнете со Picolibc, треба да знаете дека Picolibc го користи системот за градење мезон за да компајлира за различни хардверски платформи на домаќин на Linux користејќи GCC. Затоа тие мора да имаат мезон како дел од развојната средина, покрај тоа што ги инсталираат Пајтон 3 и Нинџа. За ова можете да се консултирате со водичот за тоа На следниот линк. 

Конечно, за да го добиете кодот Picolibc, можете да го направите од следниот линк, каде што можете да најдете потребната документација. 

Или на ист начин можат да се консултираат следниот водич што го најдов на мрежата и има детални информации.


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

Биди прв да коментираш

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени со *

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.