defmt
Daha fazla bilgi
- Üretici
- Ferrous Systems (Knurling)
- Yayın
- 2020
- Lisans
- MIT / Apache 2.0
- Kaynak kodu
- github.com/knurling-rs/defmt
Biçim dizelerinin dizüstü bilgisayarınızdan hiç çıkmadığı gömülü Rust günlüklemesi: cihaz yalnızca bir indeks ve ham veri gönderir.
Ad, deferred formatting (ertelenmiş biçimlendirme) ifadesinden gelir. Mikrodenetleyicide düz bir printf, her dize için flash, sayıları metne çevirmek için de işlemci çevrimi harcatır. defmt dizeleri cihaza hiç yüklenmeyen bir ELF bölümüne taşır ve her birinin yerine bir tamsayı koyar. Hedefte yalnızca bu indeks ve ikili biçimdeki argümanlar hattan geçer; ana bilgisayar dizeyi ELF dosyasından bulur ve biçimlendirmeyi orada yapar.
Sonuçta günlükler çok daha az yer kaplar ve zamanlaması kritik kodu pek rahatsız etmez. Taşıma genellikle probe-rs üzerinden RTT ile yapılır. Tuzağı şudur: tam doğru ELF dosyası olmadan günlük okunamaz; yanlış ikili dosyayı verirseniz mesaj yerine sayılar görürsünüz. Ferrous Systems tarafından Knurling projesi kapsamında geliştirildi ve Embassy tarafından yoğun biçimde kullanılır.