IT-lexikon › Programmering › defmt

defmt

Programmering In English → Uppdaterad: 2026-11-03
Mer info
Skapad av
Ferrous Systems (Knurling)
År
2020
Licens
MIT / Apache 2.0
Källkod
github.com/knurling-rs/defmt

Loggning för inbyggd Rust där formatsträngarna aldrig lämnar datorn — enheten skickar bara ett index och rådata.

Namnet betyder deferred formatting. En vanlig printf på en mikrokontroller kostar flash för varje sträng och cykler för att formatera tal till text. defmt lägger strängarna i en ELF-sektion som aldrig laddas till enheten och ersätter dem med ett heltal. På målet skickas bara indexet och argumenten i binärform; värddatorn slår upp strängen i ELF-filen och formaterar där.

Resultatet är loggar som tar en bråkdel av utrymmet och knappt stör tidskritisk kod. Transporten är vanligtvis RTT via probe-rs. Baksidan är att loggen är oläsbar utan exakt rätt ELF-fil — skeppa fel binär och du får siffror i stället för meddelanden. Utvecklades av Ferrous Systems inom projektet Knurling, och används flitigt av Embassy.

← Tillbaka till lexikonet