Tunç_

Terminal v10.4 // Protected By AES-256
TunçYazılım_
Tüm Makaleler

Rust ile STM32 Gömülü Sistem Programlama Mimarisi

T_ENGINEERING_CORE
Okuma Süresi: 8 Dk

Endüstri 4.0 dönüşümünde sensör verilerini toplayan uç cihazların (edge devices) stabil çalışması her şeyden önemlidir. Yıllarca C ve C++ dilleriyle geliştirdiğimiz firmware yazılımlarında, bellek taşmaları (buffer overflows) gibi risklere karşı katı test senaryoları uyguluyorduk.


Neden Rust?

Rust, mülkiyet (ownership) modeli sayesinde compile-time'da bellek güvenliğini garanti eder. Çöp toplayıcısı (Garbage Collector) olmamasına rağmen, deterministik bellek yönetimiyle tam da gömülü sistemlerin ihtiyacı olan sıfır maliyetli soyutlamayı sunar.


Uygulama Sürecimiz

STM32F4 serisi mikrodenetleyiciler için `cortex-m-rt` ve `stm32f4xx-hal` crate'lerini kullanarak çevre birimi (peripheral) erişimlerini Type-Safe hale getirdik. Bir pini çıkış olarak tanımladığımızda, derleyici o pinden okuma yapmamıza izin vermez. Bu durum donanım arızalarını kod yazım aşamasında engeller.


Performans Karşılaştırması

Elde ettiğimiz derlenmiş binary boyutu saf C ile yazılan versiyona göre %5 daha büyüktü ancak çalışma zamanı kararlılığında (uptime) ulaştığımız kusursuzluk bu maliyeti önemsiz kıldı.

Whatsapp Operasyon Hattı