PicoLibc, perpustakaan C untuk sistem tertanam, mencapai versi 1.8.6

Tertanam-C-

Picolibc adalah implementasi perpustakaan C lengkap yang ditulis untuk sistem tertanam

Versi baru dari PicoLibc 1.8.6 telah dirilis dan pada rilis baru ini berbagai perbaikan telah diterapkan seperti optimasi, pembersihan kode, ada juga peningkatan dukungan untuk platform baru, perbaikan bug, dan banyak lagi.

Bagi yang belum tahu tentang PicoLibc, Anda harus tahu bahwa ini adalah perpustakaan C yang dirancang khusus untuk digunakan pada perangkat tertanam dengan sumber daya terbatass, seperti mikrokontroler dan sistem tertanam. PicoLibc telah mengalami peningkatan dan optimalisasi yang signifikan sepanjang pengembangannya.

Semua kode yang tidak dilisensikan di bawah BSD telah dihapus, menyederhanakan situasi terkait perizinan proyek. Selain itu, implementasi thread-lokal telah dipindahkan ke mekanisme TLS (penyimpanan lokal thread), dan versi ringkas stdio diaktifkan secara default, berdasarkan kode avrlibc.

Fitur baru utama PicoLibc 1.8.6

Dalam versi baru PicoLibc 1.8.6 ini, salah satu perubahan terpenting disajikan, mentransfer perubahan dari Newlib 4.4.0 Dengan yang dukungan yang diperluas untuk data tipe "long double" pada arsitektur seperti i386, RISC-V, Aarch64 dan x86_64, serta kemampuan untuk menggunakan masker saat memasukkan direktori

Selain itu, di PicoLibc 1.8.6 Dukungan untuk arsitektur yang berbeda telah diperluas, karena telah ditambahkan dukungan untuk prosesor Xtensa, juga untuk platform SPARC 32-bit dan arsitektur SuperH RISC, memperluas jangkauan PicoLibc ke lebih banyak variasi perangkat dan sistem tertanam.

Hal menarik lainnya dari versi baru ini adalah optimalisasi ukuran dan kinerja Opsi “-Dfast-bufio=true” telah diperkenalkan untuk meningkatkan efisiensi membaca dan menulis Saat menggunakan bufio dan juga driver printf telah dipisahkan menjadi file individual, yang membantu mengurangi ukuran saat menghubungkan.

Versi baru dari PicoLibc 1.8.6 juga menyertakan pengoptimalan fitur dan pembersihan kode, karena kinerja telah dioptimalkan dengan mengimplementasikan fungsi inline (gnu_inline) daripada fungsi normal untuk sebagian besar fungsi fenv. Membersihkan fungsi inline publik untuk berbagi mekanisme umum dalam menggunakan semantik gnu_inline, memastikan bahwa tidak ada deklarasi inline statis di header API publik yang seharusnya berupa simbol tautan eksternal.

Selain itu, Implementasi alternatif ctype telah dibuat untuk meningkatkan efisiensi dengan tidak menggunakan array ctype dan melakukan perbandingan nilai secara langsung (hanya berfungsi ketika picolibc terbatas pada ASCII) dan telah memasukkan dukungan untuk ekstensi RISC-V Zfinx/Zdinx.

dari perubahan lain yang menonjol:

  • Perbaikan debug dan pelacakan tumpukan: Pelacakan tumpukan telah ditingkatkan saat men-debug kode pengecualian pada sistem RISC-V, sehingga lebih mudah untuk mengidentifikasi dan menyelesaikan masalah pada sistem jenis ini.
  • Menambahkan simbol “__eh_*” ke picolibc.ld untuk LLVM libunwind.
  • Memperbaiki banyak bug fmemopen
  • Dukungan diberikan untuk platform target dengan tipe floating point non-tipikal, yang sekarang tercermin dalam tipe 32-, 64-, 80-, dan 128-bit dalam kode picolibc.
  • Menambahkan dukungan SuperH, termasuk infrastruktur pengujian.
  • Peningkatan pelacakan tumpukan debugger dalam kode pengecualian risc-v.
  • Memperbaiki penggunaan variabel FORMAT_ oleh cmake
  • Hapus definisi eksplisit _POSIX_C_SOURCE di zephyr/zephr.cmake.

Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi detailnya di link berikut.

Mulai gunakan Picolibc

Untuk mulai menggunakan Picolibc, Anda harus tahu bahwa Picolibc menggunakan sistem build Meson untuk mengkompilasi berbagai platform perangkat keras pada host Linux menggunakan GCC. Itu sebabnya mereka harus memiliki Meson sebagai bagian dari lingkungan pengembangan, selain menginstal Python 3 dan Ninja. Untuk ini Anda dapat berkonsultasi dengan panduan ini Di tautan berikut. 

Terakhir, untuk mendapatkan kode Picolibc, Anda dapat melakukannya dari tautan berikut, di mana Anda dapat menemukannya dokumentasi yang diperlukan. 

Atau dengan cara yang sama mereka dapat berkonsultasi panduan berikut saya temukan di internet dan memiliki informasi rinci.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.