RUST FOR EMBEDDED SYSTEMS EĞİTİMİ

Rust ile ilk güvenli firmware'inizi yazın

Rust'ın temelleriyle başlayıp mikrodenetleyicide LED, sensör ve kesme yöneten firmware'e ulaşın.

Rust temellerinden başlayıp no_std, embedded-hal, kesmeler, Embassy ve probe-rs ile hata ayıklamaya uzanan 3 günlük gömülü sistem eğitimi.

3 gün Temel Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Rust dili temelleri ve mikrodenetleyici programlama

Rust dilinin sahiplik, trait ve hata yönetimi temellerini öğretip hemen mikrodenetleyici bağlamına taşır: cargo ile no_std proje kurulumu, cortex-m-rt, memory.x, embedded-hal ile GPIO/UART/I2C kullanımı, sensör sürücüsü, kesmeler ve Embassy'ye giriş, probe-rs ve defmt ile hata ayıklama ve imaj boyutu optimizasyonu işlenir.

Süre ve Format

3 Gün. Her gün dört modül; Rust Temelleri ve no_std; HAL, Hata Yönetimi ve Sürücüler; Hata Ayıklama, Bağlantı ve Proje ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Rust dili ve gömülü geliştirmenin temelleri: no_std, HAL, kesmeler, sensör sürücüsü

Öğrenme Metodu

Kısa konu anlatımlarının ardından her modül donanım veya simülatör üzerinde çalışan bir kod parçasıyla pekiştirilir.

Neden Bu Eğitim?

🧱Sağlam temel

Rust'ın sahiplik ve trait modelini gömülü örneklerle öğrenirsiniz.

💡Donanımda sonuç

LED, buton, UART ve I2C sensörle çalışan kodları kartta görürsünüz.

🐞Güvenli hata ayıklama

probe-rs ve defmt ile hataları hızla yakalamayı öğrenirsiniz.

Anahtar Konular

Rust embeddedgömülü sistemler Rustembedded-halno_stdmikrodenetleyici Rustprobe-rsRust STM32Rust RP2040Embassygömülü yazılım eğitimi
“Rust'ta gömülü yazılım, donanıma güvenle konuşmanın en ödüllendirici yolu.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Programlama deneyimi

Herhangi bir dilde değişken, döngü ve fonksiyon yazabilmek yeterlidir; C/C++ bilgisi avantaj sağlar.

2
Komut satırı

Terminalde komut çalıştırma ve dizin yönetimi.

3
Kurulum izni

rustup ve cargo kurabilmek için kendi bilgisayarında kurulum yetkisi.

4
Git temelleri

Depo klonlama ve commit işlemlerini bilmek.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Rust araç zincirini kurar, sahiplik ve struct/enum kavramlarını anlar, no_std projesini oluşturur.
Modül 1
Rust Araç Zinciri ve Cargo
  • rustup ile toolchain kurulumu; stable, beta, nightly kanalları
  • cargo new, build, run, check ve --release profili
  • Cargo.toml: dependencies, features ve edition 2021
  • cargo fmt ve cargo clippy ile stil ve lint denetimi
  • crates.io, cargo doc --open ve belge yorumları (///)
  • Derleyici hata mesajlarını okumak ve rustc --explain kullanımı
Modül 2
Temel Tipler ve Kontrol Akışı
  • let, mut ve shadowing; değişmezlik varsayılanı
  • Skaler tipler, tuple, array ve taşma davranışı (debug/release)
  • Fonksiyonlar, ifade-deyim ayrımı ve dönüş değeri
  • if, loop, while, for ve etiketli break
  • match ifadesi, desen eşleme, guard ve ..= aralıkları
  • Option ve Result'a ilk bakış: if let ve while let
Modül 3
Sahiplik, Ödünç Alma ve Ömürler
  • Sahiplik kuralları: move, drop ve kapsam sonu
  • Copy ile Clone farkı; hangi tipler Copy'dir
  • Paylaşımlı (&T) ve değiştirilebilir (&mut T) referans kuralları
  • String ile &str, dilimler (slice) ve ödünç alma
  • Lifetime parametreleri ('a), elision kuralları ve struct içinde referans
  • Borrow checker hatalarını okuma ve çözme (E0382, E0499, E0502)
Modül 4
no_std ve Gömülü Rust Temelleri
  • #![no_std], #![no_main] ve core ile alloc farkı
  • panic_handler seçenekleri: panic-halt, panic-probe
  • cortex-m-rt başlangıç kodu ve memory.x linker betiği
  • Hedef mimariler: thumbv7em-none-eabihf, riscv32imac
  • Statik bellek: heapless koleksiyonları ve static mut'tan kaçınma
  • Volatile erişim ve bellek eşlemeli register okuma/yazma
Günün hedefiKatılımcı Result ile hata yönetimini uygular, GPIO/I2C/SPI sürer, kesmeleri kullanır ve sensör sürücüsü yazar.
Modül 1
PAC, HAL ve embedded-hal
  • svd2rust ile PAC üretimi ve register API'si
  • HAL crate'leri (stm32f4xx-hal, rp2040-hal, nrf-hal)
  • embedded-hal trait'leri: OutputPin, I2c, SpiBus, DelayNs
  • GPIO, PWM ve ADC ile sensör/aktüatör sürme
  • UART, I2C ve SPI sürücülerinin platformdan bağımsız yazımı
  • Tip durumu (typestate) ile pin modunu derleme zamanında zorlama
Modül 2
Hata Yönetimi
  • Result<T,E> ve ? operatörünün genişleme mantığı
  • Özel hata enum'ları ve From ile otomatik dönüşüm
  • thiserror ve anyhow: kütüphane ve uygulama hata stratejisi
  • panic!, unwrap/expect ve ne zaman kabul edilebilir olduğu
  • Option kombinatörleri: ok_or, map_err, and_then, unwrap_or_else
  • main'den Result döndürme ve çıkış kodları
Modül 3
Kesmeler, RTIC ve Embassy
  • Kesme işleyicileri, NVIC öncelikleri ve critical_section
  • cortex_m::interrupt::free ve Mutex<RefCell<..>> deseni
  • RTIC: görevler, kaynaklar, öncelikler ve Stack Resource Policy
  • Embassy async yürütücüsü: embassy-executor, embassy-time
  • DMA transferleri ve async UART/SPI sürücüleri
  • Düşük güç: WFI, uyku modları ve uyandırma kaynakları
Modül 4
Sensör Sürücüleri ve Gömülü Veri Yapıları
  • embedded-hal üzerinde platformdan bağımsız I2C sensör sürücüsü yazımı
  • Sabit noktalı sayılar (fixed crate) ve float'tan kaçınma
  • heapless::Vec, String ve ring buffer (spsc::Queue)
  • Durum makinesi tasarımı ve enum tabanlı protokol ayrıştırma
  • postcard / serde no_std ile kompakt serileştirme
  • CRC, checksum ve zaman damgası yönetimi
Günün hedefiKatılımcı cihaza yükleme ve hata ayıklamayı, boyut optimizasyonunu uygular ve kısa bir firmware projesi tamamlar.
Modül 1
Gömülü Hata Ayıklama ve Boyut Optimizasyonu
  • probe-rs, cargo-embed ve cargo run ile cihaza yükleme
  • defmt ve RTT ile hafif günlükleme
  • OpenOCD + gdb ile adım adım hata ayıklama
  • flip-link ile yığın taşmasını donanımda yakalama
  • opt-level="z", lto ve codegen-units=1 ile imaj küçültme
  • cargo-bloat, cargo-size ve HardFault analizi
Modül 2
Bağlantı, Depolama ve Cihaz Güncelleme
  • Embassy ağ yığını (embassy-net) ve TCP/UDP istemcisi
  • USB CDC ve BLE (trouble/nrf-softdevice) temelleri
  • Flash yazma, sequential-storage ve wear leveling
  • Bootloader (embassy-boot) ve OTA güncelleme akışı
  • Watchdog, brown-out ve güvenli yeniden başlatma
  • Güvenlik: imzalı firmware ve hassas veri saklama
Modül 3
Test, Belgeleme ve Yayınlama
  • Birim, entegrasyon (tests/) ve doküman testleri
  • cargo test filtreleri, --nocapture ve #[should_panic]
  • criterion ile kıyaslama ve proptest ile özellik tabanlı test
  • Cargo workspace yapısı ve feature flag yönetimi
  • cargo publish, semver ve cargo-deny ile bağımlılık denetimi
  • CI hattı: fmt, clippy -D warnings, test ve cargo-audit
Modül 4
Bitirme: Sensör Veri Toplayıcı Firmware
  • Gereksinimler ve donanım bağlantı şeması (sensör, UART, LED)
  • Proje iskeleti: memory.x, .cargo/config.toml, probe-rs runner
  • Sensör okuma, filtreleme ve zamanlanmış görevler
  • Hata yönetimi, watchdog ve defmt günlüğü
  • Bellek ve güç ölçümü; optimizasyon turu
  • Sunum, kod inceleme ve geliştirme planı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Rust araç zinciri

rustup, cargo ve clippy ile çalışabilirsiniz.

🎯
Sahiplik modeli

Borrow checker hatalarını okuyup düzeltebilirsiniz.

🧩
no_std projesi

Linker betiği ve panic handler ile no_std proje kurabilirsiniz.

🛠️
GPIO ve zamanlayıcı

HAL ile LED ve butonları yönetebilirsiniz.

🔍
Seri haberleşme

UART, I2C ve SPI üzerinden sensör okuyabilirsiniz.

🚀
Kesme yönetimi

Kesme işleyicisinde güvenli paylaşılan durum kullanabilirsiniz.

📈
Hata ayıklama

defmt ve probe-rs ile cihazda gözlem yapabilirsiniz.

🧪
Boyut optimizasyonu

opt-level ve LTO ile firmware boyutunu küçültebilirsiniz.

Kimler İçin Uygundur?

  • Arduino/C deneyimi olan elektronik ve bilgisayar mühendisleri
  • gömülü yazılıma Rust
  • başlamak isteyen yazılımcılar ve teknisyenler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Arduino/C deneyimi olan elektronik ve bilgisayar mühendisleri, gömülü yazılıma Rust ile başlamak isteyen yazılımcılar ve teknisyenler için uygundur.
Rust bilmem gerekiyor mu?
Hayır; ilk gün Rust'ın gömülü için gerekli temel kısmı sıfırdan anlatılır.
Donanım getirmem gerekir mi?
Hayır; simülatör ve DVA'nın ortak kart kitleri kullanılabilir, kendi kartınızla da çalışabilirsiniz.
C bilgisi şart mı?
Zorunlu değil, ancak C ile gömülü deneyimi kavramları hızlandırır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Rust for Embedded Systems Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeTemel Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn