PicoLibc, pustaka C untuk sistem terbenam, mencapai versi 1.8.6

Terbenam-C-

Picolibc ialah pelaksanaan perpustakaan C lengkap yang ditulis untuk sistem terbenam

Versi baru dari PicoLibc 1.8.6 telah pun dikeluarkan dan dalam keluaran baru ini pelbagai penambahbaikan telah dilaksanakan seperti pengoptimuman, pembersihan kod, terdapat juga sokongan yang dipertingkatkan untuk platform baharu, pembetulan pepijat dan banyak lagi.

Bagi mereka yang tidak tahu tentang PicoLibc, anda harus tahu bahawa ini adalah perpustakaan C yang direka khusus untuk digunakan dalam peranti terbenam terhad sumbers, seperti mikropengawal dan sistem terbenam. PicoLibc telah mengalami peningkatan dan pengoptimuman yang ketara sepanjang pembangunannya.

Semua kod yang tidak dilesenkan di bawah BSD telah dialih keluar, memudahkan keadaan berkenaan pelesenan projek. Selain itu, pelaksanaan thread-local telah dialihkan ke mekanisme TLS (thread-local storage) dan versi kompak stdio didayakan secara lalai, berdasarkan kod avrlibc.

Ciri baharu utama PicoLibc 1.8.6

Dalam versi baharu PicoLibc 1.8.6 ini, salah satu perubahan terpentingnya dipersembahkan, memindahkan perubahan daripada Newlib 4.4.0 Dengan yang mana sokongan diperluaskan untuk data jenis "long double" pada seni bina seperti i386, RISC-V, Aarch64 dan x86_64, serta keupayaan untuk menggunakan topeng semasa memasukkan direktori

Selain itu, dalam PicoLibc 1.8.6 Sokongan untuk seni bina yang berbeza telah diperluaskan, kerana ia telah ditambah sokongan untuk pemproses Xtensa, juga untuk platform SPARC 32-bit dan seni bina SuperH RISC, memperluaskan capaian PicoLibc kepada pelbagai jenis peranti dan sistem terbenam yang lebih luas.

Satu lagi sorotan versi baharu ini ialah pengoptimuman saiz dan prestasi, kerana Pilihan “-Dfast-bufio=true” telah diperkenalkan untuk meningkatkan kecekapan membaca dan menulis Apabila menggunakan bufio dan juga pemacu printf telah diasingkan ke dalam fail individu, yang membantu mengurangkan saiz apabila memaut.

Versi baru dari PicoLibc 1.8.6 juga termasuk pengoptimuman ciri dan pembersihan kod, kerana prestasi telah dioptimumkan dengan melaksanakan fungsi sebaris (gnu_inline) dan bukannya fungsi biasa untuk kebanyakan fungsi fenv. Membersihkan fungsi sebaris awam untuk berkongsi mekanisme biasa untuk menggunakan semantik gnu_inline, memastikan bahawa tiada pengisytiharan sebaris statik dalam pengepala API awam yang sepatutnya menjadi simbol pautan luaran.

Selain itu, Pelaksanaan alternatif ctype telah dicipta yang meningkatkan kecekapan dengan tidak menggunakan tatasusunan ctype dan melakukan perbandingan langsung nilai (hanya berfungsi apabila picolibc dihadkan kepada ASCII) dan telah memasukkan sokongan untuk sambungan RISC-V Zfinx/Zdinx.

Daripada perubahan lain yang menonjol:

  • Penambahbaikan nyahpepijat dan jejak tindanan: Surih tindanan telah dipertingkatkan apabila menyahpepijat kod pengecualian pada sistem RISC-V, menjadikannya lebih mudah untuk mengenal pasti dan menyelesaikan masalah pada jenis sistem ini.
  • Menambahkan simbol "__eh_*" pada picolibc.ld untuk libunwind LLVM.
  • Membetulkan sekumpulan pepijat fmemopen
  • Sokongan telah disediakan untuk platform sasaran dengan jenis titik terapung bukan tipikal, yang kini ditunjukkan dalam jenis 32-, 64-, 80- dan 128-bit dalam kod picolibc.
  • Menambah sokongan SuperH, termasuk infrastruktur ujian.
  • Surih tindanan debugger dipertingkat dalam kod pengecualian risc-v.
  • Penggunaan cmake pembolehubah FORMAT_ tetap
  • Alih keluar definisi _POSIX_C_SOURCE eksplisit dalam zephyr/zephr.cmake.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butiran di pautan berikut.

Mula menggunakan Picolibc

Untuk mula menggunakan Picolibc, anda harus tahu bahawa ia menggunakan sistem binaan Meson untuk menyusun pelbagai platform perkakasan pada hos Linux menggunakan GCC. Itulah sebabnya mereka mesti mempunyai Meson sebagai sebahagian daripada persekitaran pembangunan, selain memasang Python 3 dan Ninja. Untuk ini anda boleh merujuk panduan Dalam pautan berikut. 

Akhirnya, untuk mendapatkan kod Picolibc, anda boleh melakukannya dari pautan berikut, di mana anda boleh mendapatkannya dokumentasi yang diperlukan. 

Atau dengan cara yang sama mereka boleh berunding panduan berikut yang saya dapati di internet dan mempunyai maklumat terperinci.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.