Gömülü sistemlere yönelik C kütüphanesi PicoLibc, 1.8.6 sürümüne ulaştı

Gömülü-C-

Picolibc gömülü sistemler için yazılmış eksiksiz bir C kütüphanesi uygulamasıdır

Yeni versiyonu PicoLibc 1.8.6 zaten yayınlandı ve bu yeni sürümde aşağıdakiler gibi çeşitli iyileştirmeler uygulandı: optimizasyon, kod temizlemeAyrıca yeni platformlar, hata düzeltmeleri ve daha fazlası için destek iyileştirildi.

PicoLibc'i bilmeyenler için şunu bilmelisiniz: Kaynakları sınırlı gömülü cihazlarda kullanılmak üzere özel olarak tasarlanmış bir C kütüphanesiMikrodenetleyiciler ve gömülü sistemler gibi. PicoLibc, gelişimi boyunca önemli iyileştirmeler ve optimizasyonlardan geçti.

BSD kapsamında lisanslanmayan tüm kodlar kaldırılarak proje lisanslamayla ilgili durum basitleştirildi. Ek olarak, yerel iş parçacığı uygulaması TLS (yerel iş parçacığı depolama) mekanizmasına taşınmıştır ve avrlibc koduna dayalı olarak stdio'nun kompakt bir sürümü varsayılan olarak etkinleştirilmiştir.

PicoLibc 1.8.6'nın başlıca yeni özellikleri

PicoLibc 1.8.6'nın bu yeni sürümünde en önemli değişikliklerden biri sunuluyor, Newlib 4.4.0'dan değişiklikleri aktarma Hangisiyle "long double" türündeki veriler için genişletilmiş destek i386, RISC-V, Aarch64 ve x86_64 gibi mimarilerin yanı sıra dizinleri eklerken maske kullanma yeteneği hakkında

Ayrıca PicoLibc 1.8.6'da Farklı mimarilere yönelik destek genişletildi, eklendiğinden beri SPARC 32 bit platformları için de Xtensa işlemci desteği ve SuperH RISC mimarisi, PicoLibc'in erişimini daha geniş bir gömülü cihaz ve sistem yelpazesine genişletiyor.

Bu yeni sürümün öne çıkan özelliklerinden bir diğeri de boyut ve performansın optimizasyonudur. Okuma ve yazma verimliliğini artırmak için “-Dfast-bufio=true” seçeneği eklendi Bufio ve ayrıca printf sürücüleri kullanıldığında, bağlantı sırasında boyutun azaltılmasına yardımcı olacak şekilde ayrı dosyalara ayrılmıştır.

Yeni versiyonu PicoLibc 1.8.6 ayrıca özellik optimizasyonu ve kod temizlemeyi de içerir, performans çoğu fenv işlevi için normal işlevler yerine satır içi işlevler (gnu_inline) uygulanarak optimize edildiğinden. Gnu_inline semantiğini kullanmaya yönelik ortak bir mekanizmayı paylaşmak için genel satır içi işlevler temizlendi ve genel API başlıklarında harici bağlantı simgeleri olması gereken statik satır içi bildirimlerin bulunmadığından emin olundu.

Ayrıca, Verimliliği artıran alternatif bir ctype uygulaması oluşturuldu ctype dizisini kullanmayarak ve değerlerin doğrudan karşılaştırmasını gerçekleştirerek (yalnızca picolibc ASCII ile sınırlı olduğunda çalışır) ve RISC-V Zfinx/Zdinx uzantıları için destek içerir.

Of the öne çıkan diğer değişiklikler:

  • Hata ayıklama ve yığın izleme iyileştirmeleri: RISC-V sistemlerinde istisna kodunda hata ayıklama sırasında yığın izleme iyileştirildi ve bu tür sistemlerdeki sorunların tanımlanması ve çözülmesi daha kolay hale getirildi.
  • LLVM libunwind için picolibc.ld dosyasına “__eh_*” sembolleri eklendi.
  • Bir dizi fmemopen hatası düzeltildi
  • Artık picolibc kodunda 32-, 64-, 80- ve 128-bit türlerinde yansıtılan, tipik olmayan kayan nokta türlerine sahip hedef platformlar için destek sağlandı.
  • Test altyapısı da dahil olmak üzere SuperH desteği eklendi.
  • Risk-v istisna kodunda iyileştirilmiş hata ayıklayıcı yığın izleme.
  • cmake'in FORMAT_ değişkenlerini kullanması düzeltildi
  • Zephyr/zephr.cmake'deki açık _POSIX_C_SOURCE tanımını kaldırın.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara şuradan bakabilirsiniz: aşağıdaki bağlantı.

Picolibc'i kullanmaya başlayın

Picolibc'i kullanmaya başlamak için, GCC kullanan bir Linux ana bilgisayarında çeşitli donanım platformları için derleme yapmak amacıyla Meson derleme sistemini kullandığını bilmelisiniz. Bu nedenle Python 3 ve Ninja'nın yanı sıra geliştirme ortamının bir parçası olarak Meson'a sahip olmaları gerekir. Bunun için rehbere başvurabilirsiniz Aşağıdaki bağlantıda. 

Son olarak Picolibc kodunu edinmek için aşağıdaki bağlantıdan ulaşabilirsiniz. gerekli belgeler. 

Veya ayrıca danışabilirsiniz internette bulduğum aşağıdaki rehber ve detaylı bilgilere sahiptir.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.